为啥在visual studio 2008中使用DWORD添加头文件windef.h不行,一定要windows.h。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥在visual studio 2008中使用DWORD添加头文件windef.h不行,一定要windows.h。相关的知识,希望对你有一定的参考价值。

参考技术A 它定义在windows.h;你可以在DWORD上点右键查看定义,其实就是无符号long追问

我知道它是无符号long,你在windef.h定义中可以看到typedef unsigned long DWORD;
问题是它是在windef.h中定义的,我引用windef.h怎么不行?
谢谢

追答

你的报错是什么:是未定义吗?哦,我查了下,它原来是C语言头文件,那就会杯具了,因为我用了下,它会覆很多定义,导致很多头文件不能使用,也就是是跟window的很多头文件不兼容

追问

报多种错误:
error C2146: 语法错误 : 缺少“;”(在标识符“ContextRecord”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C2065: “PCONTEXT”: 未声明的标识符
error C2146: 语法错误 : 缺少“)”(在标识符“ContextRecord”的前面)

不管怎么样,谢谢你了哦。

追答

恩,你自己努力吧,说真的我都没用过改头文件,它是个C文件头,会不兼容,即使放在普通的windows
语言程序都会说定义重复;最好都用微软的头文件,不要和c语言头文件混搭

本回答被提问者采纳
参考技术B 虽然在windef.h中有这句话typedef unsigned long DWORD;
但是我考虑像typedef、unsigned long这些关键字的识别还是需要其他头文件的
该同文件包含于windows。h中
参考技术C 在开头处写上
#define _X86_
即可
参考技术D 参考这里吧,http://catt2000.blog.163.com/blog/static/55810902009215111458361/

以上是关于为啥在visual studio 2008中使用DWORD添加头文件windef.h不行,一定要windows.h。的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Visual Studio 2008 在 C++ 代码中突出显示 internal 作为关键字?

visual studio 2008的ISO文件有3.70GB,为啥有这么大?

为啥我在 Visual Studio 2008 的工具下没有调试选项?

为啥visualstudio2008中文版.iso这个文件这么大呢?

为啥在visual studio 2008中使用DWORD添加头文件windef.h不行,一定要windows.h。

为啥这样的 penAL 代码在 Visual Studio 2008 中会出现这样的错误?