limingli_tmy
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分220分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:2892回复:6

USB驱动开发过程中有一个SOURCES文件...感兴趣的交流一下

楼主#
更多 发布于:2007-05-22 20:31
驱网的众多朋友们,我的源程序已经弄好了,到了编译的阶段,这时候SOURCES文件的作用不容小觑阿,谁有这方面的详细资料啊?  解释一下:
DDKROOT=$(_NTDRIVE)$(_NTROOT)
C_DEFINES= $(C_DEFINES) -DWMI_SUPPORT -DUSB2
INCLUDES=$(DDKROOT)\private\ntos\inc;      \
         ..\..\inc              

NTTARGETFILE0=mofcomp

USE_MAPSYM=1   ::用于产生WinDbg的调试文件,其扩展名为.map和.sym

TARGETLIBS=$(DDK_LIB_PATH)\hidclass.lib \
           $(DDK_LIB_PATH)\usbd.lib    \
       $(DDK_LIB_PATH)\ntoskrnl.lib
这是包含的库,我想问一下,都要包含什么库,有根据么?


MSC_WARNING_LEVEL=/W3 /WX

请大虾如果没有详细资料 给我解释一下我列举的各个宏是什么意思,写什么有什么根据! 先谢过了
limingli_tmy
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分220分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-23 08:20
哎 自己顶吧......
# 用 TARGETNAME 宏说明用BUILD工具所创建文件的文件名(不包含扩展名)。对于USB
#设备驱动,就是其可执行文件的名字,且不包含扩展名。
TARGETNAME=hello
 #
# 由build创建的如 .exe, .dll, and .lib 文件将被放在TARGETPATH所指定的目录
#
TARGETPATH=obj  
#
# TARGETTYPE指明build工具所创建文件的类型,及其对应的扩展名,取值情况如下:
值    说明    扩展名
PROGRAM    用户模式程序    .exe
PROGLIB    可为其它程序提供输出函数的可执行程序    .exe
DYNLINK    动态链接库文件(DLL)    .dll
LIBRARY    包含链接代码的输入库文件    .lib
DRIVER_LIBRARY    专用于驱动程序的输入库文件    .lib
DRIVER    内核模式驱动程序    .sys
EXPORT_DRIVER    可为其它驱动程序提供输出函数的内核模式驱程    .sys
HAL    硬件抽象层    .dll
BOOTPGM    内核模式驱动程序    .exe
MINIPORT    不与ntoskrnl.lib或hal.lib链接的内核模式驱动程序    .sys
GDI_DRIVER    与win32k.sys链接的内核模式图形驱动程序    .dll
#
TARGETTYPE=DRIVER
 
#
# Use the USE_PDB macro if your debug symbolic files will use a VC4 PDB.  
# This is the default in the Windows XP build environment.
#
USE_PDB=1
 
#  
# Use the INCLUDES macro to indicate the location of the headers to be  
# included in your build
#
INCLUDES=
 
#
# Use the MSC_WARNING_LEVEL macro to set the warning level to use on the  
# compiler. The default is /W3.
#
# After your code builds without errors, you might want to change  
# MSC_WARNING_LEVEL to /W3 /WX. Setting this value causes warnings to show
# as errors.
#
MSC_WARNING_LEVEL=-W3 -WX
 
#
# The SOURCES macro specifies the files to be compiled. The SOURCES macro
# is required by the Build utility. This macro must be placed in your  
# sources file. All files specified by this macro must reside in the  
# directory containing the sources file.
#
SOURCES=hello.c
limingli_tmy
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分220分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-23 08:22
其它的希望大家知道点说点,共同进步
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2007-05-23 11:17
soruces相当于工程文件,msdn上有详细的说明.

一般情况下,可以找一个ddk例子代码中的sources来改即可
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
limingli_tmy
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分220分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-23 15:35
嘿嘿 谢谢 我就是想系统的学习一下,能介绍一下么?
比如为什么要加某个lib文件,我怎么知道我需要那个呢? 我编了个USB驱动,USB2.0原理与工程开发一书说要加USBD.lib 可是为什么呢?
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-30 17:25
引用第4楼limingli_tmy于2007-05-23 15:35发表的  :
嘿嘿 谢谢 我就是想系统的学习一下,能介绍一下么?
比如为什么要加某个lib文件,我怎么知道我需要那个呢? 我编了个USB驱动,USB2.0原理与工程开发一书说要加USBD.lib 可是为什么呢?



我对驱动没那么熟悉,但我想普通EXE编译也是这个道理,你写一个GUI的网络I程序为什么一定要加载socket*.lib? 这是必须的。那怎么才能知道这是必须的呢?当然是找个例子看啦!
zhangqiuyun123
驱动牛犊
驱动牛犊
  • 注册日期2012-04-02
  • 最后登录2012-08-11
  • 粉丝1
  • 关注1
  • 积分14分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2012-06-06 20:27
楼主您好?我刚接触驱动也和您一样遇到同样的问题,不知楼主可否方便给予些指点呢?
游客

返回顶部