【问题标题】:WinSDK 7.1: Getting Started with the Windows SDK Tools for Native Windows app development?WinSDK 7.1:开始使用用于本机 Windows 应用程序开发的 Windows SDK 工具?
【发布时间】:2012-02-19 02:10:50
【问题描述】:

我终于能够在我的 Windows Vista 系统上成功安装 Windows SDK 工具 (v.7.1)。我已经安装了 GCC 编译器,这是我目前用来编译 C 代码的。

在哪里可以找到 WinSDK 的文档以及如何将其包含在 GCC 中?

我在发行说明或任何内容中找不到任何解释。但是,如果您能找到解释它的内容,请随时给我一个链接。

【问题讨论】:

  • 对我发布的答案非常抱歉。当你说Win 7.1时,我坦率地想到了WP7.1。就 Win dev 而言,为什么不使用 C# 之类的呢?威武有力。 :) 而且,不需要 gcc -_-
  • 你到底想用 SDK 做什么?
  • @Akshay 我从一开始就一直在使用 GCC...我只是认为继续这样做会更容易,但包括 Win32 API。我对 C# 不感兴趣。我已经做了很多Java(咳咳咳):D 呵呵。但我只是想使用当前设置中的 Windows API。我在哪里可以找到函数等的实际文档?
  • @DavidGrayson 编写利用 Windows 功能(例如本机 GUI 和操作系统操作)的 C 代码。
  • 这里是文档:msdn.microsoft.com/en-us/library/ff818516.aspx 我认为 Cody 在之前的评论中链接到了一个子集。

标签: c windows sdk windows-vista


【解决方案1】:

这对您来说可能听起来很奇怪,但您不需要下载任何单独的 Windows SDK 来为 Windows 进行开发,因为 Visual Studio、MingW/GCC 和其他工具通常已经包含了大多数人需要的所有内容。 (有些人会说,Visual Studio 和其他工具附带了他们自己版本的 SDK,但我认为这只会进一步混淆问题。)

您首先需要 Visual Studio。也许,某一天之后,您可能想要添加 Windows SDK 插件,但它不打算单独使用,也不打算与 GCC 结合使用。 基本上,一些 SDK 内容复制了 Visual C++ 和 Visual Studio 中已经包含的内容,其中一些是 WinDbg 等附加工具。

让我解释一下。 Windows SDK 确实对于在 Windows 中执行某些初学者不太可能需要做的事情很有用。例如,如果您需要与一些专门的 API 集成,Windows SDK 包含大量文档、示例和一组更完整的头文件,这些文件未包含在 Visual Studio 中,因为它们是不太常用的 API。 Windows 的核心 API 头文件和文档已经在 Visual Studio 中,因此从技术上讲,Visual Studio 已经包含核心 SDK,所谓的 SDK 是“辅助 SDK”,或“用于纯粹主义者、高级用户和某些类型的系统或本机级编程”,但对于大多数典型的最终用户应用程序开发来说不是必需的。

但是如果你想学习使用 C 或 C++ 的 Win32 原生编程,或者你只是想编写原生 Windows 应用程序,你可能不需要 SDK 中的任何东西,即使那样你首先需要 Visual Studio,然后SDK 第二。让我解释一下:

  1. 许多可让您编写纯本机 Windows 应用程序的工具提供更高级别的 API,包括 Visual Studio,它为您提供 MFC 或 ATL。这些工具都不需要 SDK 才能工作。所谓的 SDK 更像是“我们没有随 Visual Studio 提供的额外垃圾,因为几乎没有人需要它”,微软将其缩写为 SDK。我知道。很奇怪。

  2. 如果您打算使用 GCC,则根本不需要 SDK。如果您想用裸 C 或裸 C++ 编写适用于 Windows 的应用程序,如果您坚持使用 gcc 并从命令行工作,则只需安装 mingw

  3. 编写本机应用程序的正常方式是使用免费的 Microsoft Visual C++ Express 版本,您可以使用它来编写 C 或 C++ 应用程序,它包含您几乎需要编写的头文件和库您需要的任何本机 Windows 应用程序功能,无需任何 SDK。 Visual Studio 是一个不错的现代 IDE,有很多方便的酷功能,比如代码完成等等。您下载的 SDK 不包含任何内容。

  4. 您需要了解的有关原始 Win32 API 的任何信息,您可以使用 MSDN 文档的 Web 格式或 Visual Studio 中的帮助来学习。基本的 Windows API(如 WinCreateWindow)已记录在 Visual Studio 帮助和 MSDN 帮助中,您不需要大多数核心 Windows API 的 SDK 文档。

如果你刚刚开始,我建议你去获取免费的(但不是开源的)Visual Studio 2010 Express。这是推荐的入门方式,而不是 SDK。

我很确定您下载的 Windows 7 SDK 无论如何都不适合与 GCC 一起使用,如果您需要与 Gnu C/C++ 编译器一起使用的 Windows 头文件版本,任何基本的 Win32 API,如GDI 和基本的 Windowing API 内容已经捆绑在 mingw 版本的 gcc 中。

您可能还想了解 DDK,它类似于 SDK,但面向设备驱动程序和原生 NT 模式开发。

【讨论】:

  • SDK 标头比 mingw 包含的更完整。
  • 不错,但初学者几乎不需要。而且我怀疑 SDK 标头是否适用于 GCC。
  • 我刚刚意识到我拥有的编译器集合有 MinGW。这很好。
  • SDK 标头与 GCC 配合得很好,如果您想要做的不仅仅是开发琐碎的应用程序,它们绝对是必需的。不要将 SDK 与下载 Visual Studio 混淆。它们是完全不同的东西。该答案的某些部分是正确且有用的,但其他陈述即使不是错误的边界也相当具有误导性。
  • 我也很确定头文件可以使用编译指示或存根库文件工作,当头文件是为 Visual C++ 设计并用于海湾合作委员会。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 2011-01-07
相关资源
最近更新 更多