gcc

  • -E : 这个选项告诉编译器只进行预处理,不进行编译和链接。预处理的过程包括
    • 处理 #include 指令,包含相应的头文件。
    • 处理 #define 指令,展开宏。
    • 处理条件编译指令(如 #ifdef、#ifndef、#endif 等)。
    • 结果将输出到标准输出(通常是终端),或者如果使用了重定向,则输出到指定文件
    • 它会展开所有包含的头文件并输出,可以重定向到指定文件中
  • -c:只编译源文件,不进行链接,生成目标文件(.o)。
  • -o file:指定输出文件的名称。
  • -S:生成汇编代码,而不是目标文件。