Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

Next

第 1 章。 Boost.WinAPI

目录

简介
配置
使用 Boost.WinAPI

Boost.WinAPI 库是 Windows API 的一个抽象层,旨在供其他 Boost 库内部使用。Boost.WinAPI 不是供 Boost 用户公开使用的库。

直接使用 Windows API 相比,使用 Boost.WinAPI 的主要优势在于

  • 避免在您的库的公共头文件中包含 <windows.h> 或其他 Windows SDK 头文件。众所周知,Windows SDK 头文件依赖于大量必须由用户定义的配置宏。如果您的库依赖于特定的 API,您可能无法依赖用户启用它。另一方面,您的库无法强制执行特定的 Windows SDK 配置,因为 (a) Windows SDK 头文件可能在您的库头文件之前被包含,并带有不同的配置宏集,以及 (b) 因为您期望的配置可能与用户代码的配置不兼容。
  • 避免处理由 Windows SDK 头文件定义的大量宏。
  • 更精细地控制您在头文件中包含的 API。
  • 允许为 Boost 选择目标 Windows 版本。此版本可以与用户代码的目标版本不同。
  • 更好地兼容 Windows SDK 的不同实现,例如 MinGW 和 MinGW-w64。

Boost.WinAPI 的实现包含许多函数、类型和常量的声明,这些声明模仿了 Windows SDK 中的真实声明。在某些情况下,提供了简单的内联函数包装器。因此,Boost.WinAPI 的运行时性能影响应为零。Boost.WinAPI 仅依赖于 Boost.Config 和 Boost.Predef,并且与 C++03 编译器兼容。


Next