19

我正在用 C++ 编程。我已经安装了mingw。我从 mingw 网站的标准安装程序安装它。我对 mingw32、mingw、mingw64 感到困惑。有什么区别以及如何检查我的版本。另外,当我的程序被构建时,我怎么知道创建的可执行文件是 32 位还是 64 位?

4

2 回答 2

29

mingw 和 mingw32 用于为 32 位 Windows 系统创建可执行文件。mingw64 用于创建 64 位可执行文件。注意:这与您在构建时运行的版本无关,而是与您正在创建的可执行文件的目标系统有关(您将在其上运行新创建的可执行文件的系统)。

关于 MinGW 和 MinGW32,这是MinGW Wiki的片段

“该项目的名称从 mingw32 更改为 MinGW 是为了防止暗示 MinGW 只能在 32 位系统上运行(随着 64 位和更高位的机器变得越来越普遍,MinGW 将进化以与它们一起工作)。”

要找出您拥有的版本,请转到相关的 bin 目录并执行以下操作:

gcc --version

我建议从这里查看 minGW-w64:http: //mingw-w64.sourceforge.net/
该项目的目标是“为开发 64 位 (x64) 和 32 bit (x86),使用 gcc-4.6 或更新版本的 Windows 应用程序。”

于 2013-08-18T06:19:03.180 回答
8

如对当前接受的答案 的评论中所示,gcc --version不会给出目标信息,而是给出gcc自身的版本。

而是gcc -v打印有关编译器环境的详细信息。其中你会找到64 位(如“x86_64”所示)

Target: x86_64-w64-mingw32

32 位(如“i686”所示)

Target: i686-w64-mingw32
于 2020-09-08T17:43:59.363 回答