g++ 使用总结

g++  一般而言  c++程序都是用g++   c程序都用gcc

 

命令格式   g++ file -option params

几个选项 

-o  output的意思  表示输出

-E   例如 –E  test.i 表示预处理后的文件 (很少使用)

-S  表示汇编  例如-S test.s  然后就可以查看汇编代码了(很少使用)

-c  编译产生.o机器语言  不过不链接   (较少使用)

 

下面常用的

-g  后面不带参数,有了这个 才能调试

-I  相当于include  比如你-I/usr/local/include  那么这个目录下的所有.h文件 你直接include “test.h”就可以了   注意!! -I和其后的参数  中间没有空格!!

-L  搜索路径 一般用于你使用了动态(.so文件)或者静态库(.a文件)  和-I一样 和其后的参数之间不能有空格

-l   同上   和其后的参数不能有空格,-ltest 则在上面的那个目录下面寻找libtest.a或者libtest.so(所以说动态和静态库对g++来说输入用法基本一样)   你想告诉g++多个库 就一个一个的-ltest1 –ltest2–ltest3这样加

-MM  这是一个强大的命令,g++ -MM test.cxx可以把test.cxx所依赖的所有非库文件都列出来,很利于写makefile文件

 

 

Bash下面比较强大的命令

和静态库相关的ar

和动态库相关的nm

具体查看他们的help或者man

 

 

Gcc的使用和g++雷同

有时候在用gcc去编译代码的时候找不到头文件里面的函数  比如头文件含有math.h结果找不到exp  这些函数

可以这样 gcc  file  -lm 即可

你可能感兴趣的:(g++ 使用总结)