linux gcc/g++ 编译参数-g -Wall -W -I -l -o -c -L

2020年08月10日 55点热度 1人点赞 0条评论

在学习g++ 编译文件时,会有很多参数,自己用的比较多的一些参数来记录说明一下,参数-g -Wall -W -I -l -o -c -L

库文件名的命名规则为lib+<库名>+.so(库文件名不等于库名),如果有一个 thrift 库, 那么相应的库文件为 libthrift.so,为了在执行编译命令的时候链接指定的库,我们需要用到−L和−l命令。

-I选项(大写的i)

include头文件非标准库中存在的也不是在当前文件夹下的,需要将地址用-I包含
例:-I /home/src/

−L编译选项命令

命令格式为−L<库文件所在路径> −l<库名>

如果在路径 /usr/lib 下面有一个库文件叫做 libthrift.so, 我想在编译的时候链接它, 只需加上 −L/usr/lib  −lthrift

-l选项(小写字母L)

对于库文件在 /lib、/usr/lib 和 /usr/local/lib 路径下的库, 使用更加简单的命令 −l 就不需要添加库文件路径即可。

-o选项(小写字母)

指定生成可执行文件的名称。使用方法为:g++ -o fileName file.cpp file.h

注意点:可执行文件不可与待编译或链接文件同名,否则会生成相应可执行文件且覆盖原编译或链接文件

如果不使用-o选项,则会生成默认可执行文件a.out

-c选项

只编译不链接,只生成目标文件

-g选项

添加gdb调试选项

-w选项(小写字母)

-w:关闭编译时的警告

解释:编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,而这些警告是可以忽略的

-Wall选项

编译后显示所有警告。

-W选项

与-Wall类似,会显示警告,但是只显示 编译器认为出现错误 的警告
在编译一些项目的时候可以-W和-Wall选项一起使用,感兴趣的可以自己尝试一下,两个命令的组合使用。

 

阿布

源自灵魂深处的自我救赎。

文章评论