Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

【求助】头文件包含的顺序不同,引起不同结果

$
0
0
环境win7 64位,VC6.0

/****************************ioctl_test.h*************************/
#define IOCTL_TEST1 CTL_CODE(FILE_DEVICE_UNKNOWN, \
0x800,METHOD_BUFFERED,FILE_ANY_ACCESS)
/**************************************************************/

顺序1:
#include "stdafx.h"
#include <windows.h>
#include "ioctl_test.h"
这样可以编译通过

顺序2:
#include "stdafx.h"
#include "ioctl_test.h"
#include <windows.h>
这样则会出现一大堆的错误
E:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE\winioctl.h(179) : error C2146: syntax error : missing ';' before identifier 'DeviceType'
E:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE\winioctl.h(179) : error C2501: 'DWORD' : missing storage-class or type specifiers
E:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE\winioctl.h(179) : error C2501: 'DeviceType' : missing storage-class or type specifiers
E:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE\winioctl.h(185) : error C2146: syntax error : missing ';' before identifier 'DeviceNumber'
E:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE\winioctl.h(185) : error C2501: 'DWORD' : missing storage-class or type specifier
.............

顺序3:
#include "ioctl_test.h"
#include "stdafx.h"
#include <windows.h>
这样则会出现未定义的错误
error C2065: 'IOCTL_TEST1' : undeclared identifier

但是不知为何:eek:
求大神解答

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>