2012-09-04 35 views
0

我如何知道gcc的返回值?gcc可以返回一個值嗎?

例如,我有一個c文件,test.c,我只是在終端運行gcc test.c。它可以報告當前編譯是否遇到一些錯誤,但是我怎麼能知道這次gcc編譯過程的返回值?

現在我知道1手段有錯誤,但0不僅會返回警告,而且還會編譯OK,如果有錯誤,我該怎麼辦。如果我使用-Werror,它可能會停止編譯,我不想停止編譯

+0

相關:[如何檢查gcc是否失敗](http://stackoverflow.com/questions/1024525/how-to-check-if-gcc-has-failed-returned-a-warning-or-succeeded -in-bash) – Sjoerd

+0

我在代碼中添加了一些警告並使用gcc編譯:'> gcc -Wall test.c test.c:3:6:warning:'main'的返回類型不是'int'[ - Wmain] test.c:在函數'main'中: test.c:5:6:warning:未使用變量'noUse'[-Wunused-variable]'並且使用'echo $?',它返回爲' > echo $? 0' –

回答

5

返回變量在shell變量$?中。

> gcc bla.c 
> echo $? 
0 

編輯:在窗口它是在%errorlevel%

+1

+1不知道'errorlevel'。 – hmjd

+1

我測試它,但似乎警告也會返回0,我只是在使用gcc時添加'-Wall'並在我的源代碼中添加一個未使用的值,gcc生成警告但返回0 –

相關問題