linux

Linux下GCC命令行参数有哪些

小樊
54
2025-09-26 23:42:55
栏目: 智能运维

GCC(GNU Compiler Collection)是一个用于编译C、C++、Objective-C、Fortran、Ada等编程语言的编译器套件。在Linux下,GCC提供了许多命令行参数来控制编译过程。以下是一些常用的GCC命令行参数:

  1. -c:仅编译源代码文件,生成目标文件(.o),不进行链接。
  2. -S:将源代码文件编译成汇编代码文件(.s)。
  3. -E:仅对源代码文件进行预处理,输出预处理后的文件。
  4. -o <output_file>:指定输出文件的名称。
  5. -g:生成调试信息,用于调试器(如gdb)。
  6. -O:优化选项,可以提高程序的执行速度。可选值有:
    • -O1:基本优化
    • -O2:更多优化
    • -O3:最大程度优化
  7. -Wall:显示所有警告信息。
  8. -Wextra:显示额外的警告信息。
  9. -Werror:将警告视为错误,编译过程中出现警告将导致编译失败。
  10. -std=<standard>:指定C或C++标准。可选值有:
    • gnu99:GNU C99标准
    • gnu11:GNU C11标准
    • gnu++98:GNU C++98标准
    • gnu++11:GNU C++11标准
    • 等等。
  11. -I<include_path>:指定头文件的搜索路径。
  12. -L<library_path>:指定库文件的搜索路径。
  13. -l<library>:链接指定的库文件。例如,-lm表示链接数学库。
  14. -static:静态链接,将所有依赖的库文件都链接到生成的可执行文件中。
  15. -shared:生成共享库(动态链接库)。
  16. -pthread:启用POSIX线程支持。
  17. -D<macro_definition>:定义宏。例如,-DDEBUG表示定义宏DEBUG

这只是GCC命令行参数的一部分,更多参数可以查阅GCC官方文档或使用man gcc命令查看。

0
看了该问题的人还看了