-o FILE
指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out
-c
只编译不链接,由.c生成.o
-E
对输入文件进行预处理,使用这个命令时,预处理器的输出被送到标准输出,而不是文件里
-S
只对文件进行编译,不进行汇编和连接,由.c生成.s
-g
在可执行程序中包含标准调试信息
-w
关闭所有警告,建议不要使用此项
-Wall
允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告
-LDIRNAME
将DIRNAME加入到库文件的搜索目录列表中,非标准库时用到,如-L/mydir/lib,缺省情况下gcc 只链接共享库/usr/lib
-lFOO
链接名为libFOO的函数库
gcc -o outfile infile.c -lsocket -lm
-socket 表示链接标准的网络libsocket库系统在/usr/lib下的libsocket.a
-m 表示链接标注的数学libm 在/usr/lib下的libm.a
-IDIRNAME
将DIRNAME加入到头文件的搜索目录列表中
gcc -o outfile -I/mydir/include infile.c myprint.c
这里-I指定了myprint.h所在目录,myprint.c在当前目录下,否则要指定目录如/mydir/myprint.c
生成可执行文件时链接外部函数
gcc -o outfile infile.c file_a.o file_b.o
注:-I -L 与目录之间可有空格也可无,解析的时候忽略空格
指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out
-c
只编译不链接,由.c生成.o
-E
对输入文件进行预处理,使用这个命令时,预处理器的输出被送到标准输出,而不是文件里
-S
只对文件进行编译,不进行汇编和连接,由.c生成.s
-g
在可执行程序中包含标准调试信息
-w
关闭所有警告,建议不要使用此项
-Wall
允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告
-LDIRNAME
将DIRNAME加入到库文件的搜索目录列表中,非标准库时用到,如-L/mydir/lib,缺省情况下gcc 只链接共享库/usr/lib
-lFOO
链接名为libFOO的函数库
gcc -o outfile infile.c -lsocket -lm
-socket 表示链接标准的网络libsocket库系统在/usr/lib下的libsocket.a
-m 表示链接标注的数学libm 在/usr/lib下的libm.a
-IDIRNAME
将DIRNAME加入到头文件的搜索目录列表中
gcc -o outfile -I/mydir/include infile.c myprint.c
这里-I指定了myprint.h所在目录,myprint.c在当前目录下,否则要指定目录如/mydir/myprint.c
生成可执行文件时链接外部函数
gcc -o outfile infile.c file_a.o file_b.o
注:-I -L 与目录之间可有空格也可无,解析的时候忽略空格