d3d9.h是否包含windows.h? (C ++)

时间:2009-10-17 22:58:39

标签: c++ windows directx include

当我在我的程序中使用#include <d3d9.h>时,我不再需要包含windows.h来使用WinMainCreateWindow等Windows功能。

这是因为d3d9.h&amp; c。包括windows.h?主要是,我想知道是否可以用windows.h替换d3d9.h等,并且仍然能够查看我可以使用windows.h的任何函数。

3 个答案:

答案 0 :(得分:4)

是的,如果您打开d3d9.h,您会看到# include <windows.h>

答案 1 :(得分:2)

可能你是对的:d3d9.h包括windows.h

但是为了清除代码中的依赖关系,我将保留windows.h标头。标题sageguard将帮助不包括windows.h文件两次(因为它可能会破坏编译单元)。如果将来某一天删除d3d9.H包含,编译器将回退到windows.h文件包含,因此您的代码仍将编译。

答案 2 :(得分:1)

您包含的任何.h文件只是一个文本文件。只需打开你的'd3d9.h',看看自己是否包含'windows.h'。

然而,即使它确实包含'windows.h',依靠这个事实仍然不是一个好主意。如果你需要'windows.h' - 自己包括它。它不会造成任何伤害。头文件通常受到所谓的“包含保护”的保护,这可以确保不包括多次。