歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux2.6.14.3內核中宏定義 #define DEFINE

Linux2.6.14.3內核中宏定義 #define DEFINE

日期:2017/2/27 14:17:15   编辑:更多Linux

  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 ;   }




Copyright © Linux教程網 All Rights Reserved