跳转至

ch1

1.2

alt text 1. 预处理(Preprocessing): - 运行以下命令来查看预处理阶段的输出:

1
g++ -E main.cpp -o main.i
- 然后你可以打开main.i文件来查看预处理后的代码,其中包含宏展开和头文件的内容。

  1. 编译(Compilation)
  2. 运行以下命令来生成汇编代码:
    1
    g++ -S main.cpp -o main.s
    
  3. 然后你可以打开main.s文件来查看编译后的汇编代码。

  4. 汇编(Assembly)

  5. 运行以下命令来生成目标文件:
    1
    g++ -c main.cpp -o main.o
    
  6. 目标文件main.o通常是二进制文件,你可以使用诸如objdump之类的工具来反汇编或查看其内容。

  7. 链接(Linking)

  8. 运行以下命令来生成可执行文件:
    1
    g++ main.o -o main
    

通过这些步骤,你可以看到C++程序在编译过程中的各个阶段生成的文件和信息。如果想要查看目标文件的内容,可以使用以下命令来反汇编:

1
objdump -d main.o

todo

TODO 链接的是哪些文件,单文件ld的时候又加了什么东西。