rub*_*nvb 14
首先,一些误解:
MinGW(.org)不提供其运行时的64位版本.MinGW-w64除了32位CRT之外还有.他们还致力于ARM支持.并支持各种其他API(Win32和其他).
Cygwin < - > MinGW-w64:Cygwin不使用MS CRT(msvcrt.dll).它会在您的Cygwin应用程序和系统的OS库(kernel32.dll,ntdll.dll等)之间插入一个POSIX兼容层,即cygwin1.dll.
那个问题呢......
我发现MinGW-w64编译器非常好,而GCC 4.6及以上版本(实际上是4.5.1及以上版本)非常能够为Windows生成良好的64位代码.请记住,MinGW提供与msvcrt.dll基本相同的C API,因此请访问msdn.com获取文档(并确保查看文档的"MSVC++ 2003"版本,某些函数与较新的运行时不同),不要认为因为它是GCC,所以glibc文档突然适用于Windows.您的代码必须是跨平台的.另请注意,sizeof(long)!=sizeof(T*)在x64 Windows上.将*nix或x86 Windows代码移植到x64 Windows时常见的错误.