C/C++ Projcet Option

来源:互联网 发布:雅马哈p电脑软件 编辑:程序博客网 时间:2024/05/21 17:07

C/C++ Projcet Option

 

/nologo /Gz /MLd /W2 /WX /Z7 /Od /DWIN32=100 /D _X86_=1 /D WINVER=0x501 /D DBG=1 /Fo"DriverPath/"/Fd"DriverPath/" /FD /c

 

 

/nologo  :代表不显示编译的版权信息。

/Gz      :采用标准的版权信息。

/W2      :采用二级警告模式 W0至W4 共5级

/WX      :将警告信息视为错误,最大程序的保证了代码的可靠性

/Z7      :用Z7模式产生调试信息。VC默认选项和/driver选项会有冲突

/Od     :关闭调试模式,因为驱动需要内核调试器调试,不需要win32程序那样用VC调试器

/ D WIN32=100 /D _X86_=1 /D WINVER=0x501 /DDBG=1

PreProcessor definitions(预处理器定义):

其中

/D _X86_=1 表示32位系统 

/D WINVER=0x501 表示运行在XP系统 0X500表示2000系统

/D DBG=1         表示Check版本

/Fo"DriverPath/"     这里的DriverPath 表示产生的临时文件存放相对路径

/Fd"DriverPath/"     这里的DriverPath 表示PDB文件存放的路径

                   PDB文件中钫含了大量的符号 是进行源码调试驱动所必需的

/FD               表示生成文件依赖

/c                 只进行编译而不链接

 

Link Project Option

 

ntoskrnl.lib /nologo/base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry"/subsystem:console /incremental:no /pdb:"DriverPath/myddk.pdb" /map:"DriverPath/myddk.map" /debug /machine:I386 /nodefaultlib/out:"DriverPath/myddk.sys"/pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078

 

ntoskrnl.lib  NT式驱动链接所必须引用的库文件 WDM式驱动 则需要wdm.lib

/nologo 链接时不显示版权信息

/base:"0x10000" 加载驱动时,设定加载在虚拟内存中的位置

/stack:0x400000,0x1000

/entry:"DriverEntry"

/subsystem:console

/incremental:no

/pdb:"DriverPath/myddk.pdb" 设置PDB文件名

/map:"DriverPath/myddk.map"

/debug /machine:I386

/nodefaultlib   不使用默认库

/out:"DriverPath/myddk.sys" 指定生成驱动的名称

/pdbtype:sept  设置pdb文件类型

/subsystem:native 设置子系统是内核系统

 /driver 编译方式为驱动

/SECTION:INIT,D  将INIT段设置为可抛弃

/IGNORE:4078  忽略4078错误

//4198,4010,4037,4039,4065,4070,4078,4087,4089,4221这些错误都可以忽略

 

 


原创粉丝点击