Posted on 

g++的命令

GNU

GNU编译器集合(GCC)是由GNU项目生产的优化编译器,支持各种编程语言、硬件架构和操作系统。自由软件基金会(FSF)根据GNU通用公共许可证(GNUGPL)将GCC作为自由软件分发。

GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

What is the difference between g++ and gcc?

gcc and g++ are compiler-drivers of the GNU Compiler Collection (which was once upon a time just the GNU C Compiler).

  • gcc: GNU C Compiler
  • g++: GNU C++ Compiler

The main differences:

  1. gcc will compile: *.c\*.cpp files as C and C++ respectively.
  2. g++ will compile: *.c\*.cpp files but they will all be treated as C++ files.
  3. Also if you use g++ to link the object files it automatically links in the std C++ libraries (gcc does not do this).
  4. gcc compiling C files has fewer predefined macros.
  5. gcc compiling *.cpp and g++ compiling *.c\*.cpp files has a few extra macros.

Extra Macros when compiling *.cpp files:

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