Linux2.6.14.3内核中宏定义#defineDEFINE

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

linux2.6.14.3 内核中有如下宏定义,

CODE:

#define DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))

没弄清它的用法,于是用如下函数做了一下试验,所得结果更是让人不解。

宏定义中从"\n->"中的"-"开始的后续部分被编译器忽略。gcc提示为Warning: rest of line ignored; first character is '-.

(采用如下格式编译:gcc -o tf tf.c)

程序打印结果为:0。

CODE:

/*tf.c*/

#include "stdio.h"

#define DEFINE(sym,val) asm volatile("\n->" #sym " %0 " #val : :"i" (val))

int main(int argc,char* agrv[])

{

int Ti=0;

DEFINE(Ti,8);

printf("\n The value of Ti is:%d\n",Ti);

return ;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航