当我在我的程序中使用#include <d3d9.h>
时,我不再需要包含windows.h
来使用WinMain
和CreateWindow
等Windows功能。
这是因为d3d9.h
&amp; c。包括windows.h
?主要是,我想知道是否可以用windows.h
替换d3d9.h
等,并且仍然能够查看我可以使用windows.h
的任何函数。
答案 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' - 自己包括它。它不会造成任何伤害。头文件通常受到所谓的“包含保护”的保护,这可以确保不包括多次。