2012-09-04 109 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 –

相关问题