编译去掉警告
‘壹’ 怎样消除编译器关于 C++11 的警告
1. 预处理首先源代码文件(.c/.cpp)和相关头文件(.h/.hpp)被预处理器cpp预编译成.i文件(C++为.ii)。预处理命令为:gcc –E hello.c –o hello.i预编译过程主要处理那些源代码中以#开始的预编译指令,主要处理规则如下:u 将所有的#define删除,并且展开所有的宏定义;u 处理所有条件编译指令,如#if,#ifdef等;u 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。u 删除所有的注释//和 /**/;u 添加行号和文件标识,如#2 “hello.c” 2,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号信息;u 保留所有的#pragma编译器指令,因为编译器须要使用它们。2. 编译编译过程就是把预处理完的文件进行一系列词法分析,语法分析,语义分析及优化后生成相应的汇编代码文件(.s)。编译的命令为:gcc –S hello.i –o hello.s或者从源文件直接输出汇编代码文件:gcc –S hello.c –o hello.s现在版本的GCC把预编译和编译两个步骤合并成一个步骤,由程序cc1来完成(C++为cc1plus)。3. 汇编汇编就是将汇编代码转变成机器可以执行的命令,生成目标文件(.o),汇编器as根据汇编指令和机器指令的对照表一一翻译即可完成。汇编的命令为:gcc –c hello.s –o hello.o或者从源文件直接输出目标文件:gcc –c hello.c –o hello.o4. 链接链接就是链接器ld将各个目标文件组装在一起,解决符号依赖,库依赖关系,并生成可执行文件。链接的命令为:ld –static crt1.o crti.o crtbeginT.o hello.o –start-group –lgcc –lgcc_eh –lc-end-group crtend.o crtn.o一般我们使用一条命令就可以完成上述4个步骤:gcc hello.c实际上gcc只是一些其它程序的包装,它会根据不同参数去调用预编译编译程序cc1、汇编器as、链接器ld。
‘贰’ 关于linux编译模块,总是出现很多的warning,看着比较烦,请问输入哪个命令可以不显示他们呢
gcc或者g++可以用-w参数来去掉所有警告,但是最好还是通过修改源代码来去掉警告
‘叁’ 怎样消除编译器关于 C++11 的警告
工具-编译器选项-编译命令 将【-wall】去掉就行了
‘肆’ ubuntu系统下用GCC编译C程序,如何能设置不提示警告
可以用编译指令忽略警告,但强烈不推荐这样做,存在的警告,就是你的代码有BUG的可能性很大,不要无视警告,认真看下是为什么产生这些警告信息。
‘伍’ 编译时出现的warning,要怎么才能去掉
1、warning并不影响程序的正常使用,通常是由于你兆没老的编程不规范造成的。族升
2、如果要去掉,需要一个一个去看,或者直接在编译器中找到对代码法规范性进行检查的设置,将选中状态去察御掉即可
‘陆’ gcc 编译警告,如何去除
makefile文件给出的吧。删掉-W就可以了。如果是ARM编译器,你可以试试如下格式:arm-elf-gcc -c XXX.c 回车arm-elf-gcc -o a.out -elf2flt XXX.o
这是手工编译,如果是多个文件需要编译成一个文件,先单独编译好各个.c文件成.o文件,然后在-elf2flt 后面给出.o文件就可以了。
我的ARM gcc版本是 2.95.3
http://..com/question/28888459.html