1. 单文件
// math.cpp
int multiply(int a,int b)
{
return a * b;
}
// main.cpp
#include <iostream>
int main(){
std::cout << "Hello, world!" << std::endl;
std::cin.get();
}
1.1单文件编译(不含main函数)
要单独编译而不链接,需要添加-c选项
g++ -c math.cpp (对应生成:math.o文件)
1.2 单文件编译(含main函数)
g++ main.cpp -o main (如果不指定,默认a.out)
2. 多文件
多个文件需要链接
// main.cpp
#include <iostream>
int main()
{
log("Hello,C++");
std::cin.get();
}
// log.cpp
#include <iostream>
void log(const char* message)
{
std::cout << message << endl;
}
对于多文件,有以下几种编译方式:
- 一次性编译多个cpp文件,最后输出合并到一个.o文件。
编译命令:g++ main.cpp log.cpp -o hello
- 将它们全部单独编译,然后将所有生成的".o“文件链接在一起
g++ -c main.cpp (输出main.o)
g++ -c log.cpp (输出log.o)
g++ main.o log.o [-o program]
对于C++,我们分清楚编译阶段和链接阶段,对于我们分析解决问题有很大帮助。
详细内容可以查阅GNU文档
标签:文件,技巧,++,C++,编译,cpp,main,log From: https://blog.51cto.com/u_15951610/6101759