g ++和gcc有什么区别?
g ++和gcc有什么区别? 哪些应该用于一般的c ++开发?
gcc
和g++
是'Gnu Compiler Collection'的编译器驱动程序(曾经是'Gnu C编译器')。
即使它们自动确定根据文件类型调用哪个后端( cc1
cc1plus
...),除非用-x language
覆盖,它们有一些差异。
它们的默认值可能最重要的区别是它们自动链接的库。
根据GCC的在线文档链接选项以及如何调用g++
, g++
等同于gcc -xc++ -lstdc++ -shared-libgcc
(第一个是编译器选项,第二个是链接器选项)。 这可以通过使用-v
选项运行来检查(它显示正在运行的后端工具链命令)。
GCC:GNU编译器集合
gcc:GNU C编译器
g ++:GNU C ++编译器
主要区别:
编译* .cpp文件时额外的宏:
#define __GXX_WEAK__ 1
#define __cplusplus 1
#define __DEPRECATED 1
#define __GNUG__ 4
#define __EXCEPTIONS 1
#define __private_extern__ extern
对于c ++,你应该使用g ++。
它是相同的编译器(例如GNU编译器集合)。 GCC或G ++只是选择具有不同默认选项的不同前端。
简而言之:如果使用g ++,前端会告诉链接器您可能想要链接到C ++标准库。 gcc前端不会这样做(如果你传递了正确的命令行选项,它也可以与它们链接)。
链接地址: http://www.djcxy.com/p/2457.html