所以,说我有这样的事情:
的main.cpp
#include "main.h"
int main() {
displayMessage();
return 0;
}
main.h
#include <stdio.h>
#include <iostream>
display.cpp
#include "display.h"
void displayMessage() {
std::cout << "HELLO!\n";
}
display.h
void displayMessage();
如何在不深度嵌套的情况下将所有这些包含在一起?我刚开始编程一周前,并试图在大学开始这个即将到来的秋季之前提前开始。
答案 0 :(得分:1)
首先给main添加一个标题只是为了包含它的标题有点超过顶部,所以我会避免这种情况。
这样的事情:
<强>的main.cpp 强>
#include <cstdio>
#include <iostream>
#include "display.h"
int main() {
displayMessage();
return 0;
}
<强> display.cpp 强>
#include "display.h"
void displayMessage() {
std::cout << "HELLO!\n";
}
<强> display.h 强>
// prevent including the same header twice
#ifndef MY_PROJECT_DISPLAY_H
#define MY_PROJECT_DISPLAY_H
void displayMessage();
#endif // MY_PROJECT_DISPLAY_H
然后将每个.cpp
文件编译为目标文件:
g++ -c -o main.o main.cpp
g++ -c -o display.o display.cpp
然后链接对象以生成可执行文件:
g++ -o my_program_name main.o display.o
您可能希望在编译时设置一些有用的标志(强烈推荐):
g++ -std=c++14 -Wall -Wextra -pedantic-errors -c -o main.o main.cpp
g++ -std=c++14 -Wall -Wextra -pedantic-errors -c -o display.o display.cpp
答案 1 :(得分:0)
如果您不在main.h
中创建并添加main.cpp
,那就更好了。而是在display.h
中包含main.cpp
。
另外&#34;现代C ++&#34;鼓励使用C ++样式包含标题<cstdio>
而不是C样式标题stdio.h
。
是的,欢迎编程。很有趣。 :)