g++ -g 编译带调试信息的可执行文件
-g是要告诉GCC产生能被GNU调试器GDB使用的调试信息,用来调试程序
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c7cad5a463394d5d89e2bf8393097a09.png)
g++ -o2 用来优化源代码
比如省略掉代码中从未使用过的变量,直接将常量表达式用结果值替代等等,这些操作会缩减目标文件所包含的代码量,提高最终生成的可执行文件的运行效率。
常用的是 -o2
g++ -l 小写的l就是用来指定程序要链接的库,-l参数紧接着就是库名
在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接
g++ -lglog test.cpp
如果库文件没放在上面三个目录里面,需要使用-L参数(大写)指定库文件所在目录
其中-L参数跟着的是库文件所在的目录名
g++ -I 指定头文件搜索目录
/usr/include目录一般是不用指定的,gcc知道要去那里找
但是如果头文件不在/usr/include里面,我们就需要用-I来指定参数了
比如说,头文件放在了/myinclude目录里面,那编译命令行就要加上-I/myinclude参数
如果不加的话,错误提醒为"xxxx.h:no such file or directory"
-I参数可以用相对路径
g++ -Wall打印警告信息
g++ -w 关闭警告信息
-o 指定输出文件名
g++ test.cpp -o test
g++ -D 定义宏