重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
很多人使用了很久的C语言,但是对gcc,gcc-c++,g++这些还是比较模糊。试着在百度上找一下,到处都是同一篇文章在转来转去,里面也写的比较抽象。我这里先总结一下本人的理解然后用试验来描述一下。
创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站建设、做网站,塑造企业网络形象打造互联网企业效应。先总结的来看:
1:gcc可以用来编译C语言和C++:但是gcc只能链接C库,不能链接C++库;
2:g++可以链接C++库,但是它是通过调用gcc来编译,因此:它也可以编译C和C++,但它能编译的条件是要先存在gcc。
所以通常:如果只有C语言程序,就只要安装gcc即可搞定,因为它既可以编译C,也可以链接C库,所以可以最终生成二进制程序。
如果有C++程序,那么gcc不能链接C++库,所以还需要加个g++来链接C++库。
结论:
只有C程序,就只要gcc(它不能链接C++库,所以最终生成不了二进制可执行程序)
如果有C++程序,就要gcc和g++一起(因为g++要调用gcc来编译)。
-------------------------------查看过程:
以下使用的环境是Centos 6.5 32位:
测试时间:2017年6月2日 16:40
gcc-c++可以看成是g++.exe(windows下的理解方式)的包名,也就是gcc-c++内含g++.exe;
查看安装了的:
或者(yum 安装的是rpm包,也可以用rpm包的查看方式):
现在写个C++程序:
使用vim编辑器:
查看一下:
因为gcc链接不了C++库,所以一通的undefined:
也没有结果生成:
改用g++来弄:
可见:g++就可以了(编译的时候g++会调用gcc来编译【gcc可以编译c和c++】,链接的时候用g++来连接)。
运行,看到打印东西了:
现在弄个C语言:
使用vim编辑器:
保存后查看源代码:
一开始只有:
使用gcc编译(它可以编译C并链接C库)
可见,成功生成了a.out
执行a.out
因为C程序中没有换行,所以这里输出自然没换行,但这就是对了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。