Linux2.6.14.3核心中宏定義 #define DEFINE(轉)
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 ;
}
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部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947553/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 宏定義define的用法
- C++巨集定義#defineC++
- C++中巨集定義#define的用法C++
- 059.Define 巨集定義的巢狀巢狀
- PHP 定義常量 define 和 const的區別PHP
- define巨集定義和const常量定義之間的區別
- Oracle變數定義的三種方式(define,variable,declare)Oracle變數
- WM Define Storage Bin Structure定義倉位結構(七)Struct
- C 語言巨集定義 #define 的理解與資料整理
- #define 與 typedef
- C語言巨集定義中#define中的井號#的使用C語言
- sqlplus中define定義的常量和variable定義的變數的區別!SQL變數
- #define 的神奇操作
- #define int Modint<11>
- WM Define Storage Type Indicators定義儲存型別識別符號(八)Indicator型別符號
- define和defined區別
- 淺談typedef與define
- C語言#define詳解C語言
- typedef與define的區別
- #ifndef/#define/#endif使用詳解
- define和typedef的區別
- ifndef_ define_ endif 作用
- [PHP]常量定義: const和define區別和運用; 附constant解釋PHP
- Ext.js4.2.1 Ext.defineJS
- php中defined與define()函式PHP函式
- #define、const、typedef的差別
- Define Constraints on Views (188)AIView
- const、define 和 static 的區別
- define與typedef區別與聯絡
- 在oracle sqlplus中通過new_value及define傳遞或定義變數variableOracleSQL變數
- Delphi(BCB)中編譯器版本宏定義 (轉)編譯
- 羅技滑鼠永久宏定義設定
- java異常——RuntimeException和User Define ExceptionJavaException
- RequireJs學習筆記之Define a ModuleUIJS筆記
- 多用型別常量替代#define預處理指令型別
- iOS開發中你真的會用#define麼!!!?iOS
- iOS常用關鍵字static、const、extern、defineiOS
- C語言中const和#define的區別C語言