g++和gcc有什么区别?
GCC: GNU编译器集合
- 指的是GNU编译器支持的所有不同语言。
gcc
: GNU C编译器
g++
: GNU C++编译器
主要的区别:
gcc
会将*.c\*.cpp
文件分别作为C和C++编译。g++
会将*.c\*.cpp
文件全部作为C++文件编译。- 而且,如果你使用
g++
链接对象文件,他会自动链接std C++库(gcc
不会这样做)。 gcc
编译C文件时,拥有较少的预定义宏。gcc
编译*.cpp
,g++
编译*.c\*.cpp
文件时,拥有额外的宏。
当编译*.cpp
文件时额外的宏:
#define __GXX_WEAK__ 1 #define __cplusplus 1 #define __DEPRECATED 1 #define __GNUG__ 4 #define __EXCEPTIONS 1 #define __private_extern__ extern