ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux2.6.14.3内核中宏定义 #define DEFINE(转)

Linux2.6.14.3内核中宏定义 #define DEFINE(转)

原创 Linux操作系统 作者:BSDLite 时间:2007-08-11 20:06:57 0 删除 编辑
Linux2.6.14.3内核中宏定义 #define DEFINE(转)[@more@]  linux2.6.14.3 内核中有如下宏定义,

CODE:

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

没弄清它的用法,于是用如下函数做了一下试验,所得结果更是让人不解。
宏定义中从" ->"中的"-"开始的后续部分被编译器忽略。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(" ->" #sym " %0 " #val : :"i" (val))

  int main(int argc,char* agrv[])
  {
int Ti=0;
DEFINE(Ti,8);
printf(" The value of Ti is:%d ",Ti);
return ;
  }

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10617542/viewspace-947553/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    1872
  • 访问量
    4072766