C++编译过程

Posted upupon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

  

以上是关于C++编译过程的主要内容,如果未能解决你的问题,请参考以下文章

从编译器角度理解C++代码的编译链接

C++程序编译过程

C++程序编译过程

C++程序编译过程

QT 实用代码片段

C++编译过程