| 无双 回复于:2003-06-15 12:23:15
|
见过一个解释
好像是直接使用funname替换后面的#funname
楼主是在哪里看到的
内核源码中??
|
| 看风景的人 回复于:2003-06-15 12:29:26
|
#variable_name 直接把变量名打印出来
##起连接的作用
|
| pcdos 回复于:2003-06-15 12:38:47
|
是带参数的宏吗 ?
|
| tyffly 回复于:2003-06-15 18:45:13
|
谢谢大家!
to pcdos:
yes
to 看风景的人
第一个解释有同感
第二个能否解释清楚一点?谢谢
to 无双
是在别人的程序上看到的不是在内核源码中
|
| fieryfox 回复于:2003-06-16 09:26:16
|
#define ADDASM(funname) {"ASM_"#funname,ASM_##funname}
调用ADDASM( myfun  ;
处理之后是这样
{ "ASM_""myfun", ASM_myfun }
进而成为
{ "ASM_myfun", ASM_myfun }
这是标准ANSI C语法,找本书看看。
|
| gadfly 回复于:2003-06-16 12:04:13
|
info gcc
macro一节有这个介绍。
|
| tyffly 回复于:2003-06-16 12:38:34
|
谢谢大家!
我已经知道了他的作用了
具有很大的灵活性啊
与结构体一起使用会有很好效果!
|
| flw 回复于:2003-06-16 13:46:12
|
[quote:ea04bfc699="fieryfox"]#define ADDASM(funname) {"ASM_"#funname,ASM_##funname}
调用ADDASM( myfun  ;
处理之后是这样
{ "ASM_""myfun", ASM_myfun }
进而成为
{ "ASM_myfun", ASM_myfun }
这是标准ANSI C语法,找本书看看。[/quote:ea04bfc699]
兄台真是深藏不露啊·
|
| yyii 回复于:2003-06-16 15:05:38
|
如此简单的东东,也值得互相吹捧???
|
| fieryfox 回复于:2003-06-16 15:12:52
|
呵呵,同意。不过,不用激动。吹捧一下对别人也没有什么害处,只是可能有些真正的高手心里会不自在些。呵呵。
|
| HopeCao 回复于:2003-06-16 15:23:09
|
话不能这样说!
|
| 蓝色键盘 回复于:2003-06-16 15:48:47
|
好像turbo c大全中有过介绍。
楼上各位功底都不浅
|
| yyii 回复于:2003-06-16 15:56:21
|
[quote:fafac38e7d="fieryfox"]呵呵,同意。不过,不用激动。吹捧一下对别人也没有什么害处,只是可能有些真正的高手心里会不自在些。呵呵。[/quote:fafac38e7d]
fieryfox说得对,凡是要大度一些。
|
| alphaliu 回复于:2003-06-17 11:06:49
|
hoho
|