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