阅读:1566回复:4
帮我看看《Windows 2000设备驱动程序设计指南》中的问题
向大侠们问好了!:)
我现在有一个任务,就是写一个并口的驱动程序。我的编程功底不是很厚,以前是主学硬件的,现在突然写驱动感觉很难很难!啃了一个星期的书《Windows 2000 设备驱动程序设计指南》,发觉有点眉目了!于是就想把书中的例子编译编译看看!真是不编译不知道,一编译那是错误多多,麻烦多多啊!现在就碰到如下一些问题: 1)编译选项怎么设置?我现在是用书中自带的例子,好像不用设置它就知道怎么编译了,如果我自己来设置的话,改怎么来设置? 2)我编译书中第6章的例子时,出现下列问题: C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2146: syntax error : missing \';\' before identifier \'Lock\' C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2501: \'PULONG_PTR\' : missing storage-class or type specifiers C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2501: \'Lock\' : missing storage-class or type specifiers C:\\NTDDK\\INC\\DDK\\ntddk.h(825) : error C2146: syntax error : missing \';\' before identifier \'KSPIN_LOCK\' C:\\NTDDK\\INC\\DDK\\ntddk.h(825) : fatal error C1004: unexpected end of file found Unicode.cpp C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2146: syntax error : missing \';\' before identifier \'Lock\' C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2501: \'PULONG_PTR\' : missing storage-class or type specifiers C:\\NTDDK\\INC\\DDK\\ntddk.h(371) : error C2501: \'Lock\' : missing storage-class or type specifiers C:\\NTDDK\\INC\\DDK\\ntddk.h(825) : error C2146: syntax error : missing \';\' before identifier \'KSPIN_LOCK\' C:\\NTDDK\\INC\\DDK\\ntddk.h(825) : fatal error C1004: unexpected end of file found Error executing cl.exe. 他的意思就是ntddk.h那个文件中出现了一个未声明的数据类型\'PULONG_PTR\',后来我就在NTDDK(我安装的W2K DDK的根目录,现在还不知道怎么用,那儿有介绍?) ,我查找之后发现: C:\\NTDDK\\INC\\basetsd.h(69): typedef [public] unsigned __int3264 ULONG_PTR, *PULONG_PTR; C:\\NTDDK\\INC\\basetsd.h(79): typedef unsigned __int64 ULONG_PTR, *PULONG_PTR; C:\\NTDDK\\INC\\basetsd.h(88): typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR; 后来我在ntddk.h文件中加上这样一句: #include <basetsd.h> 还是不行,怎么办?指点指点! |
|
沙发#
发布于:2002-06-06 16:25
这个问题及有可能是因为设置路径引发的错误,
你可以试一下将ntddk\\inc路径设成默认的。 |
|
|
板凳#
发布于:2002-06-06 16:58
装一个SDK就好了。装好以后要注意要在Directory选项中将SDK的INCLUDE目录放在最前一项。
|
|
|
地板#
发布于:2002-06-06 18:04
应该可以不用装SDK的。
“1)编译选项怎么设置?我现在是用书中自带的例子,好像不用设置它就知道怎么编译了,如果我自己来设置的话,改怎么来设置?” 我看还是你自己的编译方式的问题,你的这个例子是如何编译的? 可否搞之,“详细点”。 :) |
|
|
地下室#
发布于:2002-06-07 07:58
谢谢,谢谢!
真是:听君一席话,胜读十年书! 非常感谢Tom_lyd和shengws两位仁兄的点拨! 也非常感谢magicw的关心! 我把C:\\NTDDK\\INC\\DDK和C:\\NTDDK\\INC这两个路径放到前面就搞定啦!太好了太好了! 还有个问题问一下:VC编译一个程序时,设置好的编译连接选项一般保存在那个文件里? [编辑 - 6/7/02 by aqian88888888] |
|