如何在 Win32 上开始使用 C++ 编程?

Posted

技术标签:

【中文标题】如何在 Win32 上开始使用 C++ 编程?【英文标题】:How can I get started programming in C++ on Win32? 【发布时间】:2008-12-05 06:40:27 【问题描述】:

我需要/渴望学习在 C++ 中针对 Win32 进行编程。我对 Win32 甚至是什么感到有些困惑,因为我在该平台上没有经验。

你有什么建议让我开始在 Win32 上编程和调试 C++ 程序?

【问题讨论】:

版主确实需要解决这个问题。 @workinprogress:同意并完成。 我看不出有这么多反对票的原因...这家伙在平台+语言上要求指点...您的问题是什么? @jp 我怀疑大多数反对票都是针对这个问题的第一次修订。有趣的是,使用更正确/复杂的语法和实际使用标点符号的简单编辑如何使问题看起来更加合理,即使它本质上没有改变。 【参考方案1】:

一一回答您的(原始)问题:


1/ 谁能告诉我 Win32 是什么?

Win32 是 Windows 的应用程序编程接口 (API)。具体来说,它适用于 32 位 Windows 及更高版本,因为旧 API 主要适用于 16 位版本的 Windows、Windows ME 及之前的版本。

顺便说一句:我很确定微软可能想忘记我曾经存在过,只是重写历史书,说他们直接从 Win98 到 Win2k;他们可能还想用他们的其他产品做一些事情:“Vista,什么是 Vista?我们只知道 Windows XP 和 Windows 7”。 :-)

第一个完全支持 Win32 的 Windows 版本是 Windows NT。

API 是允许您进行的一组调用。对于 Windows,它包括诸如窗口创建和操作、多线程、图形绘制、文本渲染等。基本上,这就是您的程序如何与 Windows 操作系统交互以完成任务。

公司发布他们的 API,以便客户可以使用它们做有用的事情。还有其他方法可以让产品做事,但这些通常被称为未记录的功能,虽然一家好的公司会竭尽全力确保更高版本的 API 不会破坏您的代码,但使用未记录的功能不是他们的问题。使用它们后果自负。


2/如何在win32下编译和执行c++程序?

为此,您需要一个编译器。流行的选择是 Microsoft Visual C++(您可以从 Microsoft 免费获得 Visual Express 版本)、CygWin 或 MinGW(Windows 的极简 GNU)。在 Google 上搜索“windows 的免费 c++ 编译器”。

编译器获取 C++ 源代码并将其转换为可执行代码,能够在目标系统(本例中为 Windows)上运行。

一旦有了可执行文件,就可以像运行任何其他程序一样运行它。如果您在路径中创建可执行文件do_something.exe,只需从命令行输入do_something

编译器不仅仅限制您使用命令行工具,它们还允许您创建成熟的图形应用程序,这样您就可以在文件管理器中双击可执行文件,或者创建关联的文件类型来运行针对特定文件类型自动执行。


3/如何用c++程序在win32中调试?

Visual C++ 集成开发环境 (IDE) 包含编译器和调试器。调试相对轻松,因为您可以简单地单步执行程序的每一行并检查其行为。其他环境(例如 MinGW 和 CygWin)有命令行调试器,它们不像 Visual C++ 那样与 Windows 紧密结合。

但我不得不承认,有时我仍然会通过在代码中插入 printf 语句并重新编译来进行调试。旧习惯难改。


4/我在win32中写c++程序时还需要知道什么?

我几乎不知道从哪里开始。你面前有一段漫长的(但希望是愉快的)旅程。一旦您组织好安装编译器并尝试编译并运行您的第一个程序,最好在此处查看其他具体问题。

祝你好运。

【讨论】:

Windows ME/98/95 还包含一个 Win32 实现。 您应该编辑以包含对 C++ 5.5 编译器、调试器和链接器(应用程序、dll 和库管理器)的引用,从前 Borland 免费 我为什么要提到 Borland 编译器(Embarcadero 或其他任何人,他们对我来说永远是 Borland)?我怀疑他们的使用市场渗透率与我提到的那些相比只是一个统计数据,他们现在只是一个好奇心(IMNSHO)。【参考方案2】:

哇,等一下。这是一个巨大的话题。您是否想在工作面试时临时学习 Win32 是什么?如果你需要学习 Win32,你需要 Charles Petzold 的《Programming Windows 5th Edition》一书:

http://www.charlespetzold.com/pw5/

它的旧没关系;它几乎仍然适用。

【讨论】:

@downvoter 解释你自己,并请求宽恕。愿写下这个答案的人减轻你心中的重担。【参考方案3】:

Win32 通常指 Win32 API,可用于与 Windows 操作系统进行交互。也可以指平台,也就是Windows的32位版本。要对其进行编译,您需要一个编译器,例如 Microsoft Visual C++ 或 MinGW/gcc。

【讨论】:

【参考方案4】:

您可以从here 下载 Visual Studio Express 的免费版本(例如 Visual C# Express、Visual C++ Express),虽然它们没有这些产品的更高级功能,但它们仍然非常好学习。

【讨论】:

【参考方案5】:

正式地说,Windows API 是 Microsoft 的核心应用程序编程接口集。给赶时间的人!获取 Microsoft Visual Studio。启动它并选择 Files->New Project 并选择 Visual C++ and Win32 Console Application。这将使您快速入门,调试也很容易。

【讨论】:

以上是关于如何在 Win32 上开始使用 C++ 编程?的主要内容,如果未能解决你的问题,请参考以下文章

无法理解普通 c++ 与 vc++、win32 编程、mfc、win32 api、CLI 之间的关系 [关闭]

在 Windows 中编程 C 或 C++ 时如何操作 GUID?

Win32 API VS C++;文本框内容到字符串

如何使用 Win32 句柄在 C++ 中获取文件名? [复制]

如何在 Visual Studio 中制作可分发的 C++ 程序

如何使用visual studio 2017编写一个C++程序