gcc
- 参数:-O
作用:指定被生成的程序名字
例子:
gcc fly.c -o fly
- 参数:-g
作用:生产可被gdb调试的程序
例子:
gcc -g fly.c -o fly
- 参数:-D
作用:添加宏定义。
例子:
gcc fly.c -o fly -DOPEN_PRINTF_DEBUG [or -D OPEN_PRINTF_DEBUG]
注:
-Dname 定义宏name,默认定义内容为字符串“1”;
-Dname=value 定义宏name,并且内容为value
- 参数:-w
作用:关闭所有警告信息
例子:
gcc fly.c -o fly -w
- 参数:-W和Wall
作用:开启所有的告警
例子:
gcc fly.c -o fly -W -Wall
注:
-Wall选项意思是编译后显示所有警告。
-W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告
- 参数:-O
作用:开启编译优化
例子:
gcc fly.c -o fly -O3 // 开启优化等级3
- 参数:-I (大写的i)
作用:指定编译时搜索的第一个头文件目录
例子:
gcc fly.c -o fly -I /usr/local/fly/include
- 参数:-l
作用:指定编译器链接时程序需要的库
例子:
gcc fly.c -o fly -l run // 编译fly需要库run,文件名:librun.so
注:通过-l指定的库,必须在gcc目录库默认搜索路径里,其默认搜索路径有:/lib /usr/lib /usr/local/lib
如果指定的库名不在默认的库目录里,就需要-L指定库的搜索路径。
- 参数:-L
作用:指定库文件所在的目录,添加额外的库搜索路径。
例子:
gcc fly.c -o fly -l run -L /usr/fly/lib
- 参数:-shared
作用:编译动态库
gcc -shared fly.c -o libfly.so