gcc編譯信息
⑴ gcc編譯出現錯誤怎麼辦
有時候我們編譯一個大的項目的時候,會出現很多錯誤使得屏幕堆滿了很多無用的信息。一般情況下我們需要找到首次出現錯誤的地方,在gcc中添加編譯選項可以使編譯停止在第一次出現錯誤的地方:
$ gcc -Wfatal-errors foo.c // GCC 4.0 and later$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp // 在出現第 N 此錯誤的時候停止編譯,GCC 4.6 and later
⑵ gcc 編譯帶調試信息會影響性能嗎
gcc編譯加-d加入調試信息,會盡可能載入所有庫的符號表,調用函數會盡可能調用debug模式(如果有),去掉所有編譯優化,所以肯定是有點影響性能的
⑶ gcc怎麼編譯.o
gcc中-c和-o是編譯時可選的參數
-加-c, (compile)只編譯生成中間同名目標文件,不鏈接
-加-o,(output)指定輸出文件名,該文件為可執行文件,不加-o會默認生成a.out
舉例:
gcc -c hello.c 編譯生成hello.o文件
gcc -o hello hello.c 生成可執行文件hello
⑷ 如何獲得gcc編譯錯誤時的輸出內容
在Windows環境下,直接輸出重新向不行。
安裝C-Free4.0(免費版),用它打開你的C源代碼文件
c:\1.c,編譯,在窗口下方就會給出錯誤提示信息,滑鼠右鍵單擊提示信息,選擇「全部復制」,打開記事本,粘貼,另存該文件
c:\1.txt
就可以了。
另外,C-Free
4.0
用的是
MinGW
2.95
的編譯器,也是GCC的一個版本。
⑸ 在使用gcc編譯c語言源程序時,如何使目標代碼中包含調試信息
-g 生成調試信息
使用-g選項,可以在目標代碼中包含調試信息。
⑹ gcc編譯,不提示錯誤信息,只告訴我編譯是否通過,怎麼設置
你可以把gcc的輸出重定向到nul,然後判斷gcc的退出狀態。一般來說,0表示編譯成功,1表示失敗了。
完成這一系列的工作,建議你可以使用腳本。
⑺ gcc如何完整顯示編譯的出錯信息
編譯的時候書法顯示完整的出錯信息的,但是他提供的出錯信息已經能夠幫助你定位錯誤,希望可以幫到你
⑻ 請教ubuntu如何在命令行模式讓gcc顯示編譯信息
把LC_ALL和LANG改成英文試試。用export
$ echo $LC_ALL
en_US.utf8
$ echo $LANG
en_US
$ cc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-redhat-linux/4.6.3/lto-wrapper
Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
Thread model: posix
gcc version 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC)
⑼ 關於如何判斷gcc之類的編譯器的編譯結果
我們再使用gcc編譯的時候可以讓他的輸出信息保存到文件當中
gccmain.c-omain&>status.txt
上面的命令就是將gcc編譯的信息保存到status.txt文件中,然後我們再程序中讀取文件,看文件是否有內容,沒有內容就說明沒有報錯和警告,編譯成功。有內容就對每一行內容進行判斷,看是warring還是error,只有warring也代表編譯成功,有error代表編譯失敗,然後把這些報錯信息都列印出來就好了。
下面看一下例子: