gpt4 book ai didi

c++ - MinGW 作为可靠的 64 位 GCC 编译器

转载 作者:行者123 更新时间:2023-11-30 17:56:20 25 4
gpt4 key购买 nike

我担心 64 位 MinGW 编译器作为 Visual C++ 编译器的替代品的可靠性。

例如,假设 C++ 代码使用 GCC 4.6.2 在 Linux 下完美构建和运行,相应的 MinGW 会在 64 位 Windows 下生成同样可靠的可执行文件/库吗?

就可靠性而言,Cygwin 是更好的选择吗?两者都不是 Visual C++ 编译器吗?

最佳答案

首先,一些误解:

  1. MinGW(.org) 不提供其运行时的 64 位版本。除了 32 位 CRT 之外,MinGW-w64 也可以。他们还致力于 ARM 支持。并支持各种附加 API(Win32 和其他)。

  2. Cygwin <-> MinGW-w64:Cygwin 不使用 MS CRT (msvcrt.dll)。相反,它会在 Cygwin 应用程序和系统的操作系统库(kernel32.dll、ntdll.dll 等)之间插入 POSIX 兼容层,即 cygwin1.dll。

接下来的问题...

我发现 MinGW-w64 编译器非常好,GCC 4.6 及更高版本(实际上是 4.5.1 及更高版本)非常有能力为 Windows 生成良好的 64 位代码。请记住,MinGW 提供的 C API 与 msvcrt.dll 基本相同,因此请访问 msdn.com 获取文档(并且一定要查看“MSVC++ 2003”版本的文档,某些功能与较新的运行时有所不同),不要认为因为是 GCC,glibc 文档突然适用于 Windows。您的代码必须是跨平台的。另请注意 x64 Windows 上的 sizeof(long)!=sizeof(T*)。将 *nix 或 x86 Windows 代码移植到 x64 Windows 时经常遇到的错误。

关于c++ - MinGW 作为可靠的 64 位 GCC 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com