参数
[size=large]-o [/size]:输出文件名,默认为a.out (o小写)
[size=large]-O [/size]:优化(O大写)
[size=large]-c [/size]:执行到编译阶段,输出.o文件。 [color=red]预处理->编译->汇编->链接[/color]
[size=large]-g [/size]:添加调试信息
[size=large]-I[/size]新增的头文件寻找路径:注意:I大写,[color=red]不空格[/color]
[size=large]-L[/size]新增的链接库文件路径:注意:L大写,[color=red]不空格[/color]
[size=large]-lname:[/size]装载名字为libname.a的函数库,C库以外的库都需要声明。例如:-lm
[size=large]-static[/size]:静态链接库文件名
[color=red]动态库[/color]只是调用关系,不会加入到程序代码。.so,例如libhello.so
[color=red]静态库[/color]的代码会复制到代码中,使程序变大,运行时不需要静态库。.a,例如libhello.a
linux下默认首先链接动态库。
[size=large]-Wall[/size]:生成所有警告信息
[size=large]-w[/size]:不生成警告信息
[size=large]-D[/size]MACRO:相当于在程序中定义#define MACRO
[size=large]-o [/size]:输出文件名,默认为a.out (o小写)
[size=large]-O [/size]:优化(O大写)
[size=large]-c [/size]:执行到编译阶段,输出.o文件。 [color=red]预处理->编译->汇编->链接[/color]
[size=large]-g [/size]:添加调试信息
[size=large]-I[/size]新增的头文件寻找路径:注意:I大写,[color=red]不空格[/color]
[size=large]-L[/size]新增的链接库文件路径:注意:L大写,[color=red]不空格[/color]
[size=large]-lname:[/size]装载名字为libname.a的函数库,C库以外的库都需要声明。例如:-lm
[size=large]-static[/size]:静态链接库文件名
[color=red]动态库[/color]只是调用关系,不会加入到程序代码。.so,例如libhello.so
[color=red]静态库[/color]的代码会复制到代码中,使程序变大,运行时不需要静态库。.a,例如libhello.a
linux下默认首先链接动态库。
[size=large]-Wall[/size]:生成所有警告信息
[size=large]-w[/size]:不生成警告信息
[size=large]-D[/size]MACRO:相当于在程序中定义#define MACRO