在看第一章的时候,讲到了用VC编译驱动程序,需要修改一些编译和链接参数,但是却不是很理解为何要那样修改,现在终于在第三章找到了答案。
/nologo:代表不显示编译的版权信息
/Gz:默认函数调用采用标准调用(_stdcall)
/W3:采用第三级的警告的模式
/WX:将警告信息变成错误信息,最大程度地保证代码的可靠性
/Z7:用Z7模式产生调试信息。VC默认的Program Database for "Edit & Continue",这个和link的/drvier选项冲突
/Od:关闭调试模式。驱动程序不需要像WIN32程序那样用VC调试器调试,而需要用内核调试器调试
/D WIN32=100 /D_X86=1 /D WINVER=0x500 /D DBG=1是定义一些宏,这些是必需的。
(WINVER>=0X500指Win2000以上。有些api和常数只有在win2000以上才支持)
/Fo"MyDriver_Check":设置中间生成的目标代码的路径
/Fd"MyDriver_Check":设置pdb文件的目录位置,pdb文件中包含了大量的符号,这是调试驱动所必需的。
/FD:生成文件依赖
/c:只进行编译,而不链接