【Linux】gcc和g++的区别

导读:本篇文章讲解 【Linux】gcc和g++的区别,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

gcc和g++都是GUN的一个编译器。

通常对gcc和g++的误区:

误区一:gcc只能编译c代码,g++只能编译c++代码。
实际是两者都可以。
        后缀为.c的gcc认为是c程序,g++认为是x++程序;
        后缀为.cpp的,gcc和g++都认为是c++程序;
        编译阶段,g++会调用gcc,对于c++代码,二者是等价的;但因为gcc不能自动和c++程序使用的库链接,所以通常用g++完成对c++代码的链接,为了方便,就编译/链接统一使用g++了。

误区二:gcc不会定义__cplusplus宏,而g++会
实际上,__cplusplus宏只是标志编译器会把代码按照c还是c++语法来解释;
如果后缀是.c并且使用gcc编译,那么该宏就是未定义的,否则,该宏就是已定义的。

误区三:编译只能用gcc,链接只能用g++
这句话混淆了概念,应该说:编译可以用gcc/g++,链接可以用g++或gcc -lstdc++;
gcc不能自动和c++程序使用的库链接,所以通常使用g++完成链接。但在编译阶段,g++会自动调用gcc,二者等价

参考:课程列表_牛客网 (nowcoder.com)【Linux】gcc和g++的区别https://www.nowcoder.com/study/live/504/1/3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/46114.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!