阅读:1926回复:10
关于DBGPRINT 宏的语法
#define DBGPRINT(Fmt) \\
{ \\ DbgPrint(\"Passthru: \"); \\ DbgPrint Fmt; \\ } 查了一下ntddk.h。DbgPrint是一个变参函数。 模仿这个宏编了一个简单的c程序,可怎么也编译不过去。 请高人给讲一奖!!! |
|
沙发#
发布于:2002-03-29 09:52
应该是这样吧
#define DBGPRINT(Fmt) \\ { \\ DbgPrint(\"Passthru: \"); \\ DbgPrint (Fmt); \\ } |
|
板凳#
发布于:2002-04-01 10:15
我是直接copy,你可以看一看passthru.h.
|
|
地板#
发布于:2002-04-01 10:28
你写的是驱动程序吗?
|
|
地下室#
发布于:2002-04-02 09:41
我在写ndis,你可以看一看xppassthru的passthru.h 的第357行。若能给解释清楚,不胜感激!
|
|
5楼#
发布于:2002-04-02 16:07
在调用的时候可能要用括号将fmt括起来吧。e100bex上是这样的。
|
|
6楼#
发布于:2002-04-02 17:23
若有括号,我就不问了 :(
|
|
7楼#
发布于:2002-04-02 20:37
你在调用DBGPRINT的时候是不是传递了多个参数给它啊?
|
|
8楼#
发布于:2002-04-03 10:36
是的。但我的问题是这个宏的语法觉得不理解。查了许多书也没有发现相应的解释。
|
|
9楼#
发布于:2002-04-03 15:47
这个是因为在xppassthru的程序里面保证了只传一个参数给这个宏
这个改吧 #define DBGPRINT \\ DbgPrint(\"Passthru: \"); \\ DbgPrint |
|
10楼#
发布于:2002-04-03 18:07
十分感谢,我居然每看调用的时候有两层括号!!!多谢指点,分以寄出。
|
|