1.【$<
】【$@
】 【$?
】【$^
】参数说明
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表
详细说明链接:https://www.bbsmax.com/A/RnJWOrpBJq/
2.【-O0 】【-O1】【-O2 】【 -O3】【 -OS】
-O0: 不做任何优化,这是默认的编译选项。
-O1:优化会消耗较多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。
-O2:会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。
-O3: 在O2的基础上进行更多的优化
-Os:相当于-O2.5。是使用了所有-O2的优化选项,但又不缩减代码尺寸的方法。
详细说明链接:https://blog.csdn.net/wuxing26jiayou/article/details/96132721
3.gcc中的-w -W和-Wall选项
-w:关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。
-W:会显示警告,但是只显示编译器认为会出现错误的警告。
说明:gcc -W main.c - o test 和gcc main.c -o test等价
-Wall:显示编译器能提供的所有警告。
详细说明链接:
https://blog.csdn.net/wuxing26jiayou/article/details/96132721