C++编译过程
main.cpp, static_test.cpp, static_test.h, 编译如下:
#预处理(Preprocessing), cpp -> i, 对宏、#ifdef 等进行处理 g++ -E main.cpp -o main.i g++ -E static_test.cpp -o static_test.i #编译(Compilation), i -> s, 生成汇编代码(语法检查在此处) g++ -std=c++11 -S main.i -o main.s g++ -std=c++11 -S static_test.i -o static_test.s #汇编(Assemble), s -> o, 汇编代码转换为机器码(二进制目标文件) g++ -c main.s -o main.o g++ -c static_test.s -o static_test.o #链接(Linking), 将多个目标文件以及库(.so等)链接生成最终可执行文件 g++ main.o static_test.o -o out #g++ -std=c++11 main.cpp static_test.cpp -o out