当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

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

  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 ;       
  }
相关内容
赞助商链接