編譯去掉警告
『壹』 怎樣消除編譯器關於 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