`
happmaoo
  • 浏览: 4424619 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

gcc与g++的区别

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

gcc和g++都是GNU(组织)的一个编译器。

误区一:gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
1,后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2,编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。

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

误区三:编译只能用gcc,链接只能用g++
严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1476636


分享到:
评论

相关推荐

    gcc与g++离线安装包

    适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:install.sh。运行即可完成安装。 方便快捷有效,可以避免各类依赖的困扰。 ---- 适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:...

    centos7 gcc/g++离线rpm包

    5. **验证安装**:安装完成后,可以通过运行`gcc --version`和`g++ --version`来验证GCC和G++是否已成功安装并查看其版本信息。 离线安装GCC/G++的这种方法对于那些在隔离网络环境中工作或者在多台服务器上部署相同...

    linux离线安装gcc ,g++,gcc-4.5.1

    在Linux环境中,GCC(GNU Compiler Collection)和G++是开发者常用的C和C++编译器。GCC不仅支持C和C++,还支持Fortran、Ada、Go等多种编程语言。G++是GCC的一部分,专门用于C++的编译。在某些没有网络连接的环境下,...

    8linux(ubuntu)安装 GCC 和 G++ C++ 开发环境.docx

    Ubuntu/Linux 下安装 GCC 和 G++ C++ 开发环境 在 Ubuntu/Linux 操作系统中,安装 GCC 和 G++ 是编译和运行 C++ 程序的必要步骤。GCC(GNU Compiler Collection)是一款开源的编译器套件,能够编译多种语言,包括 C...

    gcc、g++离线安装包

    在Linux环境下进行C++开发,GCC(GNU Compiler Collection)和G++是不可或缺的工具。GCC是一套由GNU项目开发的编程语言编译器,而G++是GCC的一部分,专门用于C++语言的编译。本离线安装包包含了在Linux系统上安装GCC...

    gcc g++ gcc g++ gcc g++ gcc g++

    gcc g++ gcc g++ gcc g++ gcc g++ gcc g++

    redhat linux手动RPM安装gcc,g++

    确保下载的RPM包与你的Linux发行版和体系结构相匹配,例如`gcc.x86_64.rpm`和`g++.x86_64.rpm`。 在开始安装之前,确保系统已经安装了`rpm`命令,它是处理RPM包的工具。如果没有,可以使用以下命令安装: ```bash ...

    gcc g++ 离线安装包

    虽然题目中没有明确提到Nginx与GCC和G++的关联,但值得注意的是,Nginx是一个高性能的Web服务器和反向代理服务器,它的源码编译也依赖于GCC。如果你打算在离线环境中编译安装Nginx,那么提前准备好GCC和G++的离线...

    gcc-g++4.8.5离线安装包.rar

    标题 "gcc-g++4.8.5离线安装包.rar" 涉及的是在Linux系统上安装GCC(GNU Compiler Collection)和G++(GNU C++编译器)的离线方法,具体版本为4.8.5。GCC是开源的、跨平台的编译器套件,它包括了C、C++、Fortran、...

    gcc,g++的32位安装包

    1. **32位与64位的区别**: - 32位系统最多可寻址4GB内存,而64位系统理论上可以寻址远超过这个范围的内存。 - 64位系统支持更大的数据类型和更高效的计算,但32位软件在64位系统上运行可能需要额外的库支持。 2....

    linux下gcc,g++的用法和区别,以及makefile的编写

    ### Linux 下 GCC、G++ 的用法和区别,以及 Makefile 的编写 #### GCC 和 G++ 编译流程 在 Linux 系统中,GCC (GNU Compiler Collection) 是一个非常强大的工具集,它包含了多种编程语言的编译器,如 C、C++、...

    gcc-g++-4.4.2.tar.gz

    `gcc-g++-4.4.2` 是GCC的一个特定版本,发布于2009年,它包含了C++编译器g++和其他相关工具,如链接器和预处理器。这个版本的发布是为了提供对C++语言的新特性和改进,以及对其他编程语言的支持和优化。在4.4系列中...

    gcc和g++的区别

    误区四:`extern "C"`与GCC/G++有关系 `extern "C"`是C++中的一个语法特性,用于告诉编译器按照C语言的规则处理符号,这样可以实现C和C++代码的互操作性。这与GCC和G++的选择无关。无论使用哪种编译器,`extern "C"`...

    离线安装 gcc、g++

    在IT行业中,GCC(GNU Compiler Collection)和G++是至关重要的工具,它们分别用于编译C语言和C++语言的源代码。对于那些没有互联网连接或者网络环境受限的环境,如服务器集群或嵌入式系统,离线安装GCC和G++显得尤...

    ubuntu-gcc、g++不同版本的安装和切换.pdf

    ### Ubuntu GCC、G++ 不同版本的安装与切换详解 #### 概述 在Ubuntu系统中,GCC(GNU Compiler Collection)是一套广泛使用的开源编译器集合,它包含了多种编程语言的前端,如C、C++等。对于开发人员而言,在进行...

    Android上的gcc/g++编译环境

    本主题将深入探讨如何在Android设备上建立和使用GCC(GNU Compiler Collection)和G++(GNU C++ Compiler)编译环境,以实现C和C++代码的编译和执行。这个压缩包提供了必要的工具和步骤来实现这一目标。 首先,`...

    Linux-GCC-G++编译器与调试器.ppt

    Linux GCC/G++编译器与调试器 本章节主要介绍了Linux系统下的GCC/G++编译器与调试器,包括GCC/G++编译器的安装、使用方法、编译命令、编译选项和执行过程,以及程序和进程的概念、ANSI C标准等知识点。 GCC/G++...

    gcc和g++到底啥关系

    从本质上讲,`GCC`和`G++`都是GNU项目下的编译器工具集,它们之间最显著的区别在于对C++特性的支持程度。`GCC`主要用于编译C语言程序,而`G++`则是专门为C++设计的,不仅支持C++的所有特性,还能自动处理C++标准库的...

    Linux gcc/g++ rpm安装包

    gcc-4.8.5版本的rpm安装包,解压进入目录后运行sudo rpm -Uvh *.rpm --force进行安装(如果安装提示依赖错误,可在命令后再加上--nodeps),安装完成后可通过gcc --version和g++ --version查看版本信息

Global site tag (gtag.js) - Google Analytics