g++和GCC

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。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Utuntu 16.04自带gcc与g++ gcc 编译C文件 gcc file.c默认生成a.out文件 执行a...
    五秋木阅读 3,207评论 0 2
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,623评论 2 35
  • 今年,照例参加学校的招生活动。 我一手拿着胶棒,一手拿着剪刀,给这些即将升入初中的孩子们...
    朱朱82阅读 381评论 0 0
  • 是谁拨动了我的弦让我辗转难眠窗外月明斑驳了流年带走了思念 云出袖我只得皱紧眉头浮手遮起这漏断的情愁清月与屋中的暖我...
    慕念agonic阅读 204评论 0 1
  • 英孚家长: 您好! 孩子今天学习U2L3: 1.学习she/he/they的区别以及使用(如:He is my u...
    EmilyJia阅读 286评论 0 0

友情链接更多精彩内容