我打算编写c/c++
可以在控制台中运行的简单程序。我将在 Notepad++ 中编写代码,所以我不需要 IDE。我需要的是一个编译器,它将生成一个独立的 EXE 文件,该文件可以在任何2000/XP/Vista/7
系统上运行,而无需安装VC9/cygwin/MinGW/.Net
或其他额外的库。
据我了解GCC
,它在 windows 上运行cygwin
,所以它生成的任何应用程序也需要cygwin1.dll
在它的存在下运行,对吗?
我打算编写c/c++
可以在控制台中运行的简单程序。我将在 Notepad++ 中编写代码,所以我不需要 IDE。我需要的是一个编译器,它将生成一个独立的 EXE 文件,该文件可以在任何2000/XP/Vista/7
系统上运行,而无需安装VC9/cygwin/MinGW/.Net
或其他额外的库。
据我了解GCC
,它在 windows 上运行cygwin
,所以它生成的任何应用程序也需要cygwin1.dll
在它的存在下运行,对吗?
您的主要选择是 MSVC 和 mingw。
请注意,mingw 是 GNU 编译器的本机 Windows 端口,不需要 cygwin。mingw 的 32 位版本安装简单。如果您需要生成 64 位可执行文件,那么安装 64 位版本的 mingw 需要做更多的工作。同样,如果你想要 64 位模式下的免费 MS 编译器,你必须做一些肮脏的工作才能安装它。
使用所有这些选项,您可以静态链接运行时以避免将运行时部署到目标机器。
如果您安装了 Visual Studio Express(即使您不打算使用它),您将获得用于构建 C++ 代码的工具链。
如果您以本机代码为目标,它将在任何窗口上运行......您可能希望查看 WTL 之类的东西,以使执行窗口更容易一些。
此外,根据评论,平台 SDK 提供了完整的编译器工具链。SDK 的另一个好处是它有很多示例代码,适用于 Windows API 的各个方面。
Mingw gcc 编译器生成仅将 msvcrt 用于 C 运行时的本机二进制文件。这样就满足你的要求了。您可以使用 Visual Studio express,但这些将要求您提供与您的应用程序一起使用的 msvcrt 版本。
我使用了来自equation.com的 MinGW 包装版本的 gcc ,感觉就像是原生的。只需安装该单个文件并使用。
Open Watcom C/C++一开始可能是一件好事,但据我了解,它与 C++ 功能不同步(最明显的是在 STL 中似乎),我什至没有在谈论 C++11。
Visual C++ 编译器(包含在 Visual C++ Express、Visual Studio 和 Windows SDK 中)可以生成除了操作系统本身之外不需要任何支持库的二进制文件。使用静态链接。但是,最新版本不再支持 XP 之前的 Windows 版本(有一些变通方法,但它们并不干净,也不推荐用于非平凡的应用程序,最好的变通方法是在编写测试先决条件的安装程序时,所以它可以给出有意义的错误消息而不是崩溃)。
MINGW gcc 编译器也可以生成独立的二进制文件(仅依赖于操作系统)。