开始在windows上开发c/c++需要什么软件,而不需要cygwin或.net这样的额外工具

What software is needed to start developing c/c++ in windows that would run without additional tools like cygwin or .Net?

本文关键字:net cygwin 不需要 工具 软件 开发 windows 什么 c++ 开始      更新时间:2023-10-16

我打算在c/c++中编写可以在控制台运行的简单程序。我将在notepad++中编写代码,因此我不需要IDE。我需要的是一个编译器,它将产生一个独立的EXE文件,可以在任何2000/XP/Vista/7系统上运行,而不需要安装VC9/cygwin/MinGW/.Net或其他额外的库。

据我所知,GCC通过cygwin在windows上运行,所以由它产生的任何应用程序也需要cygwin1.dll在它的存在下运行,对吗?

您的主要选项是MSVC和mingw。

  • 如果你想写C代码,那么避免MSVC,它没有一个真正的C编译器,只是一个假的包装在它的c++编译器。哦,支持的方言接近C89。
  • 如果你想写c++,那么MSVC是很好的,现代版本已经变得相当好,并且合理地符合标准。
  • 如果你想根据你的问题写C和c++,那么mingw可能是最好的。

注意mingw是GNU编译器的本机Windows端口,不需要cygwin。32位版本的mingw安装起来很简单。如果您需要生成64位可执行文件,那么安装64位版本的mingw就需要更多的工作。同样,如果你想让免费的MS编译器在64位模式下运行,你必须做一些繁琐的工作来安装它。

使用所有这些选项,您可以静态地链接运行时,以避免必须将运行时部署到目标机器。

如果你安装了visual studio express(即使你不打算使用它),你将获得构建c++代码的工具链。

如果您的目标是本机代码,它将在任何windows上运行.....你可能想看看像WTL这样的东西,让做windows更容易一些。

此外,根据注释,平台SDK提供了一个完整的编译器工具链。SDK的另一个好处是它有很多windows API的所有方面的示例代码。

Mingw gcc编译器生成的本机二进制文件只在C运行时使用msvcrt。这就满足了你的要求。你可以选择Visual Studio express,但这将要求你提供与应用程序一起使用的msvcrt版本。

打开Watcom C/c++可能是一件好事,但据我所知,它不是最新的c++特性(最明显的似乎是STL),我甚至不是在谈论c++ 11。

Visual c++编译器(包含在Visual c++ Express, Visual Studio和Windows SDK中)可以生成除了操作系统本身之外不需要任何支持库的二进制文件。使用静态链接。然而,最新版本不再支持XP之前的Windows版本(有一些变通方法,但它们不干净,也不建议用于重要的应用程序,最好是在编写测试先决条件的安装程序时使用变通方法,因此它可以给出有意义的错误消息,而不是崩溃)。

MINGW gcc编译器也可以生成独立的二进制文件(仅依赖于操作系统)。

我使用了来自equation.com的MinGW包装版本的gcc,感觉就像它是本地的。