g++和GCC

作者: 没风的地方 | 来源:发表于2018-01-22 18:21 被阅读27次

1 :两者都能编译C和C++代码,但是有区别:

(1)后缀为.c的,GCC把它当成是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。值得注意的是,虽然c++是c的超集,但两者对语法的要求不同。C++的语法规则更加严谨一些。

(2).编译阶段,g++会调用GCC,对于c++代码,两者是等价的,但是因为GCC命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。

2 :对于__cplusplus宏,实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用GCC编译器,则该宏就是未定义的,否则,就是已定义

3 :编译可以用GCC/g++,而链接可以用g++或者GCC -lstdc++。因为GCC命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用GCC,二者等价。

其实使用g++更省事,因为.c文件g++会自动调用GCC。

相关文章

网友评论

      本文标题:g++和GCC

      本文链接:https://www.haomeiwen.com/subject/efcraxtx.html