首页
社区
课程
招聘
[旧帖] [求助]内核中WCHAR的使用问题,很奇怪的现象 0.00雪花
发表于: 2010-10-1 12:43 1304

[旧帖] [求助]内核中WCHAR的使用问题,很奇怪的现象 0.00雪花

2010-10-1 12:43
1304
在写驱动时碰到WCHAR编译总是通不过,于是用了个小程序测试了一下
关键代码如下:
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj,PUNICODE_STRING reg_path)
{
         //DbgPrint("I'm in DriverEntry!");
         WCHAR symName[] = L"hello world";      
         
         pDriverObj->DriverUnload=DriverUnload;
         return STATUS_SUCCESS;
}
当把DbgPrint语句注释后能正常编译,但是去掉“//”后就出现编译错误。
错误信息如下:
error C2275: 'WCHAR' : illegal use of this type as an expression
error C2146: syntax error : missing ';' before identifier 'symName'
error C2065: 'symName' : undeclared identifier
error C2059: syntax error : ']'
后来我发现只要WCHAR该行代码写在程序的第一行就没问题,否则,前面不管加什么语句都会编译出错。不知道大家遇到过这种情况没有,请教一下这是怎么回事。我的编译器为wdk 7600.16385.1   操作系统为xp sp3,不知道大家遇到过这种情况没有,请教一下这是怎么回事。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
C语言
定义必须在第一行。。。。
基础不牢啊
2010-10-1 12:52
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
搞了半天,原来c语言的语法中声明只能在函数开头,以前一直用c++,刚转到c来,对c语法还不太了解,让各位见笑了。
2010-10-1 12:53
0
游客
登录 | 注册 方可回帖
返回
//