使用g++进行编译时,如果加上 -Wall,表示什么意思呢?
请看英文解释:
It's short for "warn all" -- it turns on (almost) all the warnings that g++ can tell you about. Typically a good idea, especially if you're a beginner, because understanding and fixing those warnings can help you fix lots of different kinds of problems in your code.
表示 打开几乎全部警告提示,允许发出gcc能提供的所有有用的警告
使用例子:
g++ -Wall htadd.cpp -shared -o htadd.dll
htadd.cpp代码如下:
int HtAdd(int a,int b)
{
return a + b;// by 何问起
}
补充g++编译选项:
-E 只激活预处理,这个不生成文件,需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 将编译得到的文件输出到指定文件
-static 此选项对生成的文件采用静态链接
-g 生成调试信息。GNU调试器可以利用该信息
-shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统有动态库
-O0 、-O1、-O2、-O3 编译器的优化选项4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-w 不生成任何警告信息
-Wall生成所有警告信息