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

  

posted @ 2021-05-15 18:52  upupon  阅读(45)  评论(0编辑  收藏  举报