c++ - 哪个 MinGW 文件用作 C++ 编译器

标签 c++ c compiler-construction mingw

我刚刚安装了 MinGW,在 bin 文件夹中我可以看到 7 个编译我的程序的 .exe 文件:

  1. c++.exe
  2. g++.exe
  3. mingw32-c++.exe
  4. mingw32-g++.exe
  5. gcc.exe
  6. mingw32-gcc.exe
  7. mingw32-gcc-4.4.1.exe

我的小程序 (testprog.cpp) 都能正确编译; a.exe文件在bin文件夹下生成,运行正常。

它们之间有什么区别,我应该使用哪一个? 另外,如何在每次编译成功时自动将输出文件的名称从 a.exe 更改为 testprog.exe?

最佳答案

这些遵循 gcc 命名约定。

  • c++.exe 是系统 c++ 编译器的传统名称
  • g++.exe 和 gcc.exe 是为“当前系统”编译的 gcc 编译器的名称
  • mingw32-* 版本是交叉编译到“mingw”目标的编译器的名称。在这种情况下,这与系统目标相同。
  • 然后 mingw32-gcc-4.1.exe 是“gcc for mingw target version 4.1”

您通常应该编译带有“gcc”变体的 C 代码,以及带有“g++”变体的 c++ 代码。

使用-o filename来指定输出文件名,默认是a.exe

关于c++ - 哪个 MinGW 文件用作 C++ 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047798/

相关文章:

c++ - 使用初始化列表时检查传递给构造函数的参数 - C++

c++ - 从基类到不同派生类的多重继承转换

c++ - 在 DirectX/3D 中为 2D 绘制圆角矩形

c - 获取结构体的起始地址

boost - 如何迫使bjam保持整洁一致?

c++ - 使编译器不自动刷新缓冲区

c++ - 并发空间上很酷的开源项目?

c++ - 从文件中读取十六进制数据

scala - 在 CompilerPlugin 中将字符串编译为 AST?

c++ - 从字符串常量到 'char*' 的折旧转换