开始在 Windows 中开发不需要 cygwin 或 .Net 等额外工具即可运行的 c/c++ 需要什么软件?

问题描述 投票:0回答:6

我打算在

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

据我了解,

GCC
通过
cygwin
在Windows上运行,因此它生成的任何应用程序也需要
cygwin1.dll
才能运行,对吗?

c++ c windows native-code
6个回答
4
投票

您的主要选择是 MSVC 和 mingw。

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

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

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


3
投票

如果您安装 Visual Studio Express(即使您不打算使用它),您将获得用于构建 C++ 代码的工具链。

如果你的目标是本机代码,它将在任何 Windows 上运行......你可能想看看 WTL 之类的东西,以使 Windows 操作变得更容易一些。

此外,根据评论,Platform SDK 提供了完整的编译器工具链。 SDK 的另一个好处是它有大量适用于 Windows API 各个方面的示例代码。


2
投票

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


1
投票

Open Watcom C/C++ 可能是一个好的开始,但据我了解,它与 C++ 功能不同步(似乎最明显的是 STL),而且我什至不是在谈论 C+ +11.


1
投票

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

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


1
投票

我使用了来自 equation.com 的 MinGW 包装版本的 gcc,感觉就像是原生的。只需安装该单个文件即可使用。

© www.soinside.com 2019 - 2024. All rights reserved.