当前位置:   article > 正文

了解gcc和g++_gcc/g++

gcc/g++


1.什么是__cplusplus;

__cplusplus是gcc编译器在编译.cpp文件或g++在编译.c/.cpp文件时需要加入的宏定义;这个宏定义标志着编译器会把代码按C++的语法来解释。

2.什么是GCC,什么是GNU;

GCC全称为GNU Compiler Collection,即GNU编译器集合,它通过各种编译器来编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等多种语言。GNU是一个类Unix操作系统。它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集合。有关GNU的详细内容请查找下列网站:The GNU Operating System and the Free Software Movement

3.什么是gcc,什么是g++;

gcc是GCC中的GUN C Compiler(C编译器);

g++是GCC中的GUN C++ Compiler(C++编译器);

事实上,虽然gcc和g++叫做xxx编译器,但它们只是一种驱动器,根据要编译的文件类型去调用对应的GUN编译器。

4.gcc和g++的区别

(1)gcc可以编译.c文件和.cpp文件,并且gcc会区分它们,分别当作c和cpp文件编译;

g++也可以编译.c文件和.cpp文件,但是g++不区分它们,都当做cpp文件编译。

(2)编译时,gcc和g++都可以使用,因为编译阶段时g++会调用gcc进行编译;

链接时,g++可以使用,gcc需要添加"-lstdc++"才可以使用,因为gcc不能自动和C++库链接,所以一般使用g++进行链接;

(3)gcc在编译cpp文件时、g++在编译c文件和cpp文件时,gcc和g++调用的都是cpp文件的编译器,且会加入一些额外的宏定义,宏定义如下:

  1. #define __GXX_WEAK__ 1
  2. #define __cplusplus 1
  3. #define __DEPRECATED 1
  4. #define __GNUG__ 4
  5. #define __EXCEPTIONS 1
  6. #define __private_extern__ extern

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/260850
推荐阅读
相关标签
  

闽ICP备14008679号