-g 为生成的调试信息的详细程度, 3 为最详细, 默认为2;
-D在编译时定义一个宏
-U在编译时反定义一个宏
-Wall 允许发出GCC能够提供的所有有用的警告。也可以用-W{warning}来标记指定的警告。
-Wextra -Werror -Wconversion -Wno-unused-parameter -Wold-style-cast -Woverloaded-virtual -Wpointer-arith -Wshadow -Wwrite-strings
-march=native m参数为硬件模式,通过确定编译机器的处理器类型来调整编译时的cpu类型
-rdynamic 传递 -export-dynamic 选项给 ELF 连接器,
-O为优化选项
0:关闭优化,当没有设置-O时的默认是这个等级。通常不使用这个参数。
1:这是最基本的优化。编译器会在较少的编译时间内尽可能生成更快更小的代码。
2:-O1的进阶。同时多了一些选项。一般的 编译推荐使用这个等级。
3:这个等级最高也最危险。会延长编译时间,如果编译所有的软件包将产生更大体积更耗内存的二进制文件,所以在gcc4.x的情况下不应全局启用。
s:这个等级用来优化代码的大小。启用了-O2等级时不增加磁盘空间的选项。这对于磁盘空间极其紧张或者CPU缓存较小的机器非常有用。
-static 链接时使用静态库