当前位置:首页 > 芯闻号 > 充电吧
[导读]当使用WDK(我这里版本WDK 7600.16385.1)命令行编译一个驱动程序时,进入到当前驱动所在的文件夹目录下,一般都有一个Sources文件,内容一般是:TARGETNAME=UsbKbd T

当使用WDK(我这里版本WDK 7600.16385.1)命令行编译一个驱动程序时,进入到当前驱动所在的文件夹目录下,一般都有一个Sources文件,内容一般是:


TARGETNAME=UsbKbd
TARGETTYPE=DRIVER
DRIVERTYPE=WDM
TARGETPATH=OBJ
#TARGETLIBS=C:98DDKLIBI386FREEUsbd.Lib
TARGETLIBS=$(DDK_LIB_PATH)Usbd.Lib

INCLUDES=$(BASEDIR)inc;

SOURCES=	Init.cpp 
			Dispatch.cpp 
			Pnp.cpp 
			DeviceIo.cpp 
			Usb.cpp 
			DebugPrint.c 
#			UsbKbd.rc

NTTARGETFILES=PostBuildSteps


例如上面的Sources例子里(是编译UsbKbd驱动),“#”是注释符,“DDK_LIB_PATH”等环境变量定义在什么地方呢?

开启一个WDK命令行编译环境,执行下面操作:


C:WinDDK7600.16385.1>set >c:1.txt

上面操作的意思是,将当前命令行cmd下所有的环境变量输出到c:1.txt内,打开该文件,如下:


386=1
ALLUSERSPROFILE=C:ProgramData
APPDATA=C:UsersAdministratorAppDataRoaming
asl.log=Destination=file
ATL_INC_PATH=C:WinDDK7600.16385.1inc
ATL_INC_ROOT=C:WinDDK7600.16385.1inc
ATL_LIB_PATH=C:WinDDK7600.16385.1libatl*
BASEDIR=C:WinDDK7600.16385.1
BUILD_ALLOW_COMPILER_WARNINGS=1
BUILD_ALT_DIR=chk_wxp_x86
BUILD_DEFAULT=-ei -nmake -i -nosqm
BUILD_DEFAULT_TARGETS=-386
BUILD_MAKE_PROGRAM=nmake.exe
BUILD_MULTIPROCESSOR=1
BUILD_OACR=1
COFFBASE_TXT_FILE=C:WinDDK7600.16385.1bincoffbase.txt
CommonProgramFiles=C:Program FilesCommon Files
CommonProgramFiles(x86)=C:Program Files (x86)Common Files
CommonProgramW6432=C:Program FilesCommon Files
COMPUTERNAME=XT1-20140726YGA
ComSpec=C:Windowssystem32cmd.exe
CPU=AMD64
CRT_INC_PATH=C:WinDDK7600.16385.1inccrt
CRT_LIB_PATH=C:WinDDK7600.16385.1libcrt*
DDKBUILDENV=chk
DDK_INC_PATH=C:WinDDK7600.16385.1incddk
DDK_LIB_DEST=C:WinDDK7600.16385.1libwxp
DDK_LIB_PATH=C:WinDDK7600.16385.1libwxp*
DDK_TARGET_OS=WinXP
DEPRECATE_DDK_FUNCTIONS=1
DEVMGR_SHOW_DETAILS=1
DRIVER_INC_PATH=C:WinDDK7600.16385.1incddk
FP_NO_HOST_CHECK=NO
HALKIT_INC_PATH=C:WinDDK7600.16385.1incddk
HALKIT_LIB_PATH=C:WinDDK7600.16385.1libwxp*
HOMEDRIVE=C:
HOMEPATH=UsersAdministrator
IFSKIT_INC_PATH=C:WinDDK7600.16385.1incddk
IFSKIT_LIB_DEST=C:WinDDK7600.16385.1libwxp
IFSKIT_LIB_PATH=C:WinDDK7600.16385.1libwxp*
Include=C:WinDDK7600.16385.1incapi
KMDF_INC_PATH=C:WinDDK7600.16385.1incwdfkmdf
KMDF_LIB_PATH=C:WinDDK7600.16385.1libwdfkmdf*
LANGUAGE_NEUTRAL=0
Lib=C:WinDDK7600.16385.1lib
LINK_LIB_IGNORE=4198
LOCALAPPDATA=C:UsersAdministratorAppDataLocal
LOGONSERVER=\XT1-20140726YGA
MFC_INC_PATH=C:WinDDK7600.16385.1incmfc42
MFC_LIB_PATH=C:WinDDK7600.16385.1libmfc*
MSC_OPTIMIZATION=/Od /Oi 
NEW_CRTS=1
NO_BINPLACE=TRUE
NO_BROWSER_FILE=TRUE
NTDBGFILES=1
NTDEBUG=ntsd
NTDEBUGTYPE=both
NTMAKEENV=C:WinDDK7600.16385.1bin
NUMBER_OF_PROCESSORS=4
OAK_INC_PATH=C:WinDDK7600.16385.1incapi
OS=Windows_NT
Path=C:WinDDK7600.16385.1binamd64;C:WinDDK7600.16385.1toolssdvbin;C:WinDDK7600.16385.1binx86oacr;C:WinDDK7600.16385.1toolspfdbinbinx86;C:WinDDK7600.16385.1toolstracingi386;C:WinDDK7600.16385.1binx86;C:WinDDK7600.16385.1binx86x86;C:WinDDK7600.16385.1binSelfSign;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)Windows Kits8.0Windows Performance Toolkit;C:Program FilesMicrosoft SQL Server110ToolsBinn
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PREFAST_VALID_IMPLIES_NOTNULL=1
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:ProgramData
ProgramFiles=C:Program Files
ProgramFiles(x86)=C:Program Files (x86)
ProgramW6432=C:Program Files
PROJECT_ROOT=C:WinDDK7600.16385.1src
PROMPT=$P$G
PSModulePath=C:Windowssystem32WindowsPowerShellv1.0Modules
PUBLIC=C:UsersPublic
PUBLIC_ROOT=C:WinDDK7600.16385.1
PUBLISH_CMD=@echo Publish not available...
RAZZLETOOLPATH=C:WinDDK7600.16385.1Bin
RCNOFONTMAP=1
SDK_INC_PATH=C:WinDDK7600.16385.1incapi
SDK_LIB_DEST=C:WinDDK7600.16385.1libwxp
SDK_LIB_PATH=C:WinDDK7600.16385.1libwxp*
SDV=C:WinDDK7600.16385.1toolssdv
separate_object_root=FALSE
SESSIONNAME=Console
SUBSTITUTE_386_CC=C:WinDDK7600.16385.1Binx86oacroacrcl
SUBSTITUTE_AMD64_CC=C:WinDDK7600.16385.1Binx86oacroacrcl
SUBSTITUTE_CS_COMPILER_NAME=C:WinDDK7600.16385.1BINx86oacroacrcsc /nologo
SUBSTITUTE_LINK=C:WinDDK7600.16385.1Binx86oacroacrlink
SystemDrive=C:
SystemRoot=C:Windows
TEMP=C:UsersADMINI~1AppDataLocalTemp
TMP=C:UsersADMINI~1AppDataLocalTemp
UMDF_INC_PATH=C:WinDDK7600.16385.1incwdfumdf
USERDOMAIN=XT1-20140726YGA
USERNAME=WinDDK
USERPROFILE=C:UsersAdministrator
USE_OBJECT_ROOT=1
VBOX_MSI_INSTALL_PATH=C:Program FilesOracleVirtualBox
VS110COMNTOOLS=C:Program Files (x86)Microsoft Visual Studio 11.0Common7Tools
WDM_INC_PATH=C:WinDDK7600.16385.1incddk
windir=C:Windows
windows_tracing_flags=3
windows_tracing_logfile=C:BVTBinTestsinstallpackagecsilogfile.log
WPP_CONFIG_PATH=C:WinDDK7600.16385.1binwppconfig
_BUILDARCH=x86
_BuildType=chk
_DFX_INSTALL_UNSIGNED_DRIVER=1
_IA32bit=true
_NTDRIVE=C:
_NTROOT=WinDDK7600.16385.1
_NT_TARGET_VERSION=0x501
_OACR_ERROR_LEVEL=0
_RunOacr=TRUE


在这里,就能找到“DDK_LIB_PATH”等环境变量定义值了。(如上我开启的是WinXP的Check版本的编译环境)


举一反三:

①  启动一个默认的CMD命令行环境,执行“set >c:1.txt”后,再开启VS2012的命令行提示编译环境,执行“set >c:2.txt”,用文件比较工具比较两个文件的不同。这两个文件的不同,就是VS2012命令行编译环境做的特殊设置。


② 用同样的方式,可以查看WinCE5.0、Tornado2.2命令行编译设置的不同;


② 用同样的方式,查看Visual Studio之间做的设置环境变量区别:VC++6.0的设置环境变量位置一般在“C:Program Files (x86)Microsoft Visual StudioVC98Bin”下,为“VCVARS32.BAT”;VS2005,VS2008,VS2012分别在菜单下有命令行编译提示工具设置;







本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

电子数据的存储与共享在我们生活中占据越来越重要的地位,而传统的硬盘存储已然难以满足人们日益增长的数据存储需求,为此网络附加存储(NAS)则以其便捷、高效的特点,逐渐受到广大用户的青睐。但是提到NAS,很多人可能会觉得它是...

关键字: 存储 铁威马NAS 硬盘存储

4月25日,以“分享鸿蒙技术特性,交流鸿蒙生态共建”为主题的HDD·行业沙龙在江西武功山成功举行。华为产品专家们现场带来了诸多精彩分享,吸引了来自政务、金融、新闻资讯等多个行业的四十余家软件服务商到场参加。

关键字: 鸿蒙 华为 智能设备

4月25日,2024(第十八届)北京国际汽车展览会拉开序幕,车展以“新时代·新汽车”为主题,一直持续到5月4日。本次车展将有全球首发车117台(其中跨国公司全球首发车30台),41款概念车及278款新能源车型展出。

关键字: 北京车展 新能源汽车 电动汽车

LED驱动模块RSC6218A 5W-18W迷你高效驱动电源应用,小功率、小体积、高效率

关键字: LED驱动模块 驱动电源应用 LED电源芯片

业内消息,近日台积电在北美技术研讨会上宣布,正在研发 CoWoS 封装技术的下个版本,可以让系统级封装(SiP)尺寸增大两倍以上,实现 120x120mm 的超大封装,功耗可以达到千瓦级别。

关键字: CoWoS 台积电 封装

据外媒报道,字节正在内部探索出售TikTok美国业务多数股权,并援引内部人士披露的信息称 “沃尔玛或为最理想买家”。报道还称,讨论中的一种情况是字节出售美国50%以上TikTok股份,但保留少数股权。

关键字: 字节跳动 TikTok

业内消息,HMD 正在计划重启一些经典的诺基亚功能手机。今年 3 月初,该公司预告了将于 5 月发布的一款功能手机。现在该机的身份已经曝光,新款诺基亚 3210 的谍照已经泄露,展现了新机部分新特性。

关键字: 诺基亚 功能机 HMD

业内消息,近日有一位网友在各大社交媒体发文表示,自己离职后,公司将自己所有的期权全部作废。

关键字: 期权 微博

业内消息,在昨天的中关村论坛未来人工智能先锋论坛上,生数科技联合清华大学正式发布中国首个长时长、高一致性、高动态性视频大模型——Vidu。Vidu是自Sora发布之后全球率先取得重大突破的视频大模型,性能全面对标Sora...

关键字: Sora 清华 AI Vidu

近日,2024中关村论坛年会发布了10项重大科技成果名单,其中“转角氮化硼光学晶体原创理论与材料”备受关注。

关键字: 激光
关闭
关闭