Mingw32

来源:互联网 发布:上班族怎么减肥 知乎 编辑:程序博客网 时间:2024/06/07 01:36

Mingw32

Mingw32是一套以 Gnu gcc/egcs计划为基础的编译器,其可编译出在 Win32 系统上执行的 ojbect code

"Mingw32" 是取 Minimalist Gnu-Win32计划之意,其目标为提供一个可在 Win32 平台上,开发 Win32 native code 的编译器,而非提供 unix 程序移植到 Win32 平台之用,此即为其 minimalist 之意。

ps. Mingw32 是开发原生 Win32 程序用的,如果想要移植既有的 unix 程序, 不应使用 Mingw32 ,建议采用 Cygnus 的 Cygwin 或 AT&T 的 UWin 

Mingw32使用 Microsoft runtime libraries,因此由其产生之程序,执行时不需先行安装其他的 DLL 。 此外,其提供 Win32 API 的 header ,故可在程序中呼叫 Win32 API ,并相当程度地兼容于 MS Visual C++ binary,可以使用 VC++的 libraries ,也支援部份的 COM

理论上, Mingw32可使用 Win32 系统上的各式 Software Develope Toolkit,例如 DirectX便已经证实可行。

Mingw32提供两种 Microsoft runtime libraries版本,一是 Ctrdll.dll,另一为 Msvcrt.dll

Ctrdll.dll存在于所有的 Win32 系统上,甚至在 Windows 3.11/Windows NT 3.5 等 Win32s 系统上亦有,但是很久没有更新了。

Msvcrt.dll则为较新且持续进行更新与增添功能的 runtime library ,其存在于较新的 Win32 系统上,简单的分辨方式为,如果该计算机上有安装 IE4 或以上的版本时,便有 Msvcrt.dll 

Mingw32主要以 Ctrdll.dll 为测试目标,故采用 Ctrdll.dll 的版本较稳定。