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代表编译失败,然后把这些报错信息都打印出来就好了。
下面看一下例子: