将Netbeans配置为编译C++代码。

17 浏览
0 Comments

将Netbeans配置为编译C++代码。

g++和gcc之间有什么区别?在一般的C++开发中应该选择哪一个?

admin 更改状态以发布 2023年5月22日
0
0 Comments

GCC: GNU编译器集合

  • 指GNU编译器支持的所有不同语言。

gcc: GNU C编译器
g++: GNU C++编译器

主要差异:

  1. gcc将分别编译*.c\*.cpp文件作为C和C++。
  2. g++将分别编译*.c\*.cpp文件,但它们将全部被视为C++文件。
  3. 如果您使用g++来链接对象文件,它会自动链接标准C++库(gcc不会这样做)。
  4. gcc编译C文件时有较少预定义的宏。
  5. gcc编译*.cppg++编译*.c\*.cpp文件时有一些额外的宏。

编译*.cpp文件时的额外宏:

#define __GXX_WEAK__ 1
#define __cplusplus 1
#define __DEPRECATED 1
#define __GNUG__ 4
#define __EXCEPTIONS 1
#define __private_extern__ extern

0
0 Comments

gccg++都是GNU编译器集合(曾经只是GNU C编译器)的编译器驱动程序。

尽管它们会根据文件类型自动确定调用哪些后端(cc1 cc1plus ...),除非使用-x language覆盖,否则它们存在一些差别。

它们默认的最重要的差别可能是自动链接的库。

根据GCC的在线文档链接选项如何调用g++g++等价于gcc -xc++ -lstdc++ -shared-libgcc(第一个是编译器选项,后两个是链接器选项)。可以通过运行两者之一来检查这一点,加上-v选项(它会显示正在运行的后端工具链命令)。

0