gcc常用编译选项

时间:2021-09-09 12:43:40

保持更新,慢慢补充


1, gcc编译

gcc -o main main.c  编译.c文件,生成目标可执行文件mian


2,gcc -g -o main main.c  

产生调试所必要的符号信息,生成一个带有符号表的main可执行文件,如果用gdb进行调试,必须使用-g选项,分析coredump时,也需要-g,使用命令addr2line -e main 400506(pc值) ,可以显示问题PC指向的行。


3,gcc -Wl,-Map=main.map  -o main main.c 生成符号表main.map, 可以使用grep main main.map 在符号表中查找main()函数的地址。


4,-Wall:这个选项表示在编译源代码的过程中报告其中出现的警告信息,不开启此选项的话gcc默认可能会忽略某些编译过程中出现的警告


5,-w  不生成任何警告信息。


6,-Werror:开启此选项后,gcc在编译源代码的时候不止会捕获所有的警告信息,而且在遇到警告时会停止编译。开启次选项的目的主要在于提高代码的书写质量。


7,-M  -MD

-M选项,gcc会解析.c文件的依赖关系,-MD选项,就是解析.c文件的依赖关系,并生成同名的.d文件.

gcc -MD -o main main.c