GCC和G++的区别

GCC和G++是我们在学习C/C++并且进行编译的过程中,必会的知识点,今天小雷雷针对这个聊几句,嗯哼哼~

👉👉👉gcc和g++都是C/C++的编译器,但是它们之间存在一些区别


GCC和G++的渊源

GCC(GNU Compiler Collection)是一个通用的C/C++编译器,可以用于编译C和C++代码。而G++是GCC的一个组件,专门用于编译C++代码,它是GCC的一个变种,针对C++语言特性进行了优化。


例如我们使用vscode进行代码的编译运行,必须要配置一个文件c_cpp_properties.json,该文件主要是指定编译器的类型和头文件搜索路径等。

💙 💜 ❤️ 💚 💔 在c_cpp_properties.json文件中,“compilerPath"属性用于指定C/C++编译器的路径。如果你将"compilerPath"设置为”/usr/bin/gcc",那么将会使用GCC编译器来编译你的C/C++代码。而如果你将"compilerPath"设置为"/usr/bin/g++",那么将会使用G++编译器来编译你的C++代码。

💗 💕 💞 💘 💖因此,如果你的项目同时包含C和C++代码,并且希望使用GCC来编译所有的代码,可以将"compilerPath"设置为"/usr/bin/gcc"。而如果你的项目只包含C++代码,并且希望使用专门针对C++进行优化的编译器,可以将"compilerPath"设置为"/usr/bin/g++"。

需要注意的是,具体的编译器路径可能会因操作系统和安装方式而有所不同。上述路径是在一些常见的Linux系统上的默认路径,实际使用时请根据你的操作系统和安装方式进行相应的调整。


GCC和G++的区别

🌝文件后缀关联:对于文件后缀为.c的源文件,gcc会将其视为C程序,而g++会将其视为C++程序。对于文件后缀为.cpp的源文件,两者都会将其视为C++程序。

🌝编译阶段:g++会自动调用gcc进行编译,因此两者在编译阶段是等价的。但是,gcc命令不能自动与C++程序使用的库进行链接,因此通常使用g++来完成链接。

🌝链接库:由于gcc不能自动与C++程序使用的库进行链接,所以使用g++链接库时需要加上对C++库的链接命令,如-lstdc++。

🌝函数命名约定:extern "C"是一种函数命名约定,用于指示编译器按照C语言的语法和规则编译函数。这是为了在C++中使用C函数或者库时,能够正确地链接和调用。

总之,gcc和g++的主要区别在于文件后缀关联、编译阶段、链接库和函数命名约定等方面。在编译C/C++代码时,可以根据需要选择使用gcc或g++。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南霹雳堂雷家雷无桀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值