Debian系统中的GCC(GNU编译器集合)提供了许多命令行选项,用于控制编译过程。以下是一些常用的GCC命令行选项:
-c:仅编译源代码文件,生成目标文件(.o),不进行链接。
-S:将源代码文件编译成汇编代码文件(.s)。
-E:仅对源代码进行预处理,生成预处理后的文件(.i),不进行编译和链接。
-o:指定输出文件的名称。例如,-o output_file source_file.c。
-g:生成调试信息,以便使用GDB等调试器进行调试。
-O:进行优化。可以使用-O1、-O2或-O3来指定优化级别。-O2为默认优化级别。
-Wall:显示所有警告信息。
-Wextra:显示额外的警告信息。
-Werror:将警告视为错误,即在出现警告时停止编译。
-std:指定C或C++标准。例如,-std=c99表示使用C99标准,-std=c++11表示使用C++11标准。
-I:指定头文件搜索路径。例如,-I/path/to/include。
-L:指定库文件搜索路径。例如,-L/path/to/lib。
-l:链接指定的库。例如,-lm表示链接数学库。
-static:生成静态链接的可执行文件。
-shared:生成共享库(动态链接)。
-pthread:启用POSIX线程支持。
这些选项可以组合使用,以满足不同的编译需求。要查看完整的选项列表,请参阅GCC官方文档或输入gcc --help。