赞
踩
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文件的编译器,且会加入一些额外的宏定义,宏定义如下:
- #define __GXX_WEAK__ 1
- #define __cplusplus 1
- #define __DEPRECATED 1
- #define __GNUG__ 4
- #define __EXCEPTIONS 1
- #define __private_extern__ extern
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。