现在的位置: 首页 > 综合 > 正文

gcc和g++的区别

2012年08月15日 ⁄ 综合 ⁄ 共 575字 ⁄ 字号 评论关闭
gcc和g++的区别,上网搜了一下再搜一下,全世界的说法千奇百怪,还是直接看文档吧。。

Quote:“the use of gcc does not add the C++ library.
g++ is a program that calls GCC and treats `.c',
`
.h' and `.i' files as C++ source files instead of C source
files unless
-x is used, and automatically specifies linking
against the C++ library
”(Btw:GCC下面C++头文件一般用.hh)

在gcc和g++编译时加参数-v(verbose mode)可以看到默认情况下他们连接了这些库:
g++: -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
gcc: -lgcc -lgcc_eh -lc -lgcc -lgcc_eh

所以gcc和g++的区别首先是在默认filetype的处理上,用g++的话,注意扩展名或者在需要的地方加上extern "C";还有重要的一点就是连接时g++约等于gcc -lstdc++

BTW,关于extern "C":如果C和C++库混用,或者要写代码在不同的C++编译器编译后混用,第一个问题就是name mangling了,可以参考探索C++详解extern "C"

抱歉!评论已关闭.