Gcc编译C程序常用选项


Gcc编译C程序常用选项

-o  指定目标文件名

-std=c99 用C99标准编译

-Wall  警告全开

-c 只编译不链接,生成中间文件

-g 生成调试信息

-O0 : 默认不优化(若要生成调试信息,最好不优化)

-O1 : 简单优化,不进行速度与空间的权衡优化;

-O2 : 进一步的优化,包括了调度。(若要优化,该选项最适合,它是GNU发布软件的默认优化级别;

-O3 : 鸡肋,兴许使程序速度更慢;

-funroll-loops : 展开循环,会使可执行文件增大,而速度是否增加取决于特定环境;

-Os : 生成最小执行文件;

-llibname 链接指定库

注意GCC在链接库的过程中对参数中库的顺序是有要求的,参数右侧的库会先于左边的库加载。

假如你要链接pthread库,编译命令可能是这样的:gcc -std=gnu99 -Wall  -o server *.c -lpthread

但不能是这样的:gcc -std=gnu99 -Wall  -lpthrad -o server *.c  #-lpthread必须放在后面。

相关内容