前段时间学做驱动,但ide一直不好用,我用bat文件编译,在输出栏双击错误信息总不能定位到错误行,十分郁闷,我记得很早以前我直接用nmake来编译是可以在vc 中定位错误行的,奈何换了vs2008就不行了?于是换回vc6,虽然在vista下报了些错,但还是可以用的,继续用bat编译,一样不行,只好自己去改编译选项了,现在2008下的一些编译选项总结如下:
c/c++选项下:
A 在附加包含目录里使用ddk的头文件目录,这是由于这些文件会与2008的sdk冲突,导致编译器会去找sdk里的头文件而报错。
B 忽略标准包含路径。
C 去掉编辑并继续选项 /EDITANDCONTINUE
D 去掉→C/C++→缓冲区安全检查
→启用c++异常
E 禁用→C/C++→代码生成→启用最小重新生成
F 增加预处理器→预处理器定义→_X86_
G 设置默认调用方式为stdcall
链结器选项下
A 修改输出文件为Sys后缀
B 去掉增量链结
C 忽略所有默认库
D 引如如下库文件:wdm.libntoskrnl.lib int64.lib hal.lib
E 子系统选/subsystem:native
F 驱动程序一项选“驱动程序/Driver“
G 链接器→高级→设置入口函数为DriverEntry,掉随机基址设为默认,数据执行保护设为黑认,目标计算机为x86
H 设置校验和选项勾上。/Release
I 去掉→清单文件→启用用户帐户控制(uac)
经过以上部骤设置,基本应该可以编过,剩下的应该都可以通过错误提示找到解决办法。