【发布时间】:2015-03-08 21:25:38
【问题描述】:
我正在创建一个用于游戏开发的库,它使用 directx 2d,但是我希望某些变量(ID2D1Factory、ID2D1HwndRenderTarget 等)对最终用户不可见。例如,SDL 库即使使用了 directdraw(我猜),directdraw 类对于 SDL 的最终用户是不可见的,并且用户不需要在编译器的包含文件夹中有 ddraw 头。
如何使这些成员独立(最终用户无需安装 DirectX SDK 即可使用我的库),并使这些成员对最终用户不可见?
【问题讨论】:
-
谷歌
Pimpl成语。或者像 COM 一样构建你的引擎:仅虚拟。另外 SDK 分发不再是必需的了。 -
请阅读Where is the DirectX SDK? 和Not So DirectSetup,以便了解用户需要旧版 DirectX SDK 或 DXSETUP 包的实际原因。对于 Direct2D,他们不需要,你也不需要。