

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1, 防止一個(gè)頭文件被重復(fù)包含#ifndef COMDEF_H#defi ne COMDEF_H/頭文件內(nèi)容#en dif2, 重新定義一些類型,防止由于各種平臺(tái)和編譯器的不同,而產(chǎn)生的類型字 節(jié)數(shù)差異,方便移植。typedef un sig ned char boolea n; /* Boolea n value type. */typedef un sig ned long int uin t32; /* Un sig ned 32 bit value */typedef un sig ned short uin t16; /* Un sig ned 16 bit value */type
2、def un sig ned char uin t8; /* Un sig ned 8 bit value */typedef signed long int int32; /* Signed 32 bit value */typedef signed short int16; /* Signed 16 bit value */typedef sig ned char in t8; /* Signed 8 bit value */下面的不建議使用typedef un sig ned char byte; /* Un sig ned 8 bit value type. */typedef un
3、sig ned short word; /* Unsin ged 16 bit value type. */typedef un sig ned long dword; /* Un sig ned 32 bit value type. */typedef un sig ned char uin t1; /* Un sig ned 8 bit value type. */typedef un sig ned short uint2; /* Un sig ned 16 bit value type. */typedef un sig ned long uin t4; /* Un sig ned 3
4、2 bit value type. */typedef sig ned char in t1; /* Signed 8 bit value type. */typedef sig ned short in t2; /* Signed 16 bit value type. */typedef long int int4; /* Signed 32 bit value type. */typedef signed long sint31; /* Signed 32 bit value */typedef signed short sint15; /* Signed 16 bit value */t
5、ypedef sig ned char sin t7; /* Signed 8 bit value */3, 得到指定地址上的一個(gè)字節(jié)或字#defi ne MEM_B( x ( *( (byte * (x#defi ne MEM_W( x ( *( (word * (x4, 求最大值和最小值#defi ne MAX( x, y ( (x (y ? (x : (y#defi ne MIN( x, y ( (x field /*li nt +e545 */6, 得到一個(gè)結(jié)構(gòu)體中 field 所占用的字節(jié)數(shù)#defi ne FSIZ( type, field sizeof( (type * 0-fi
6、eld7,按照 LSB 格式把兩個(gè)字節(jié)轉(zhuǎn)化為一個(gè) Word#defi ne FLIPW( ray ( (word (rayO * 256 + (ray18,按照 LSB 格式把一個(gè) Word 轉(zhuǎn)化為兩個(gè)字節(jié)#defi ne FLOPW( ray, val (ray0 = (val / 256; (ray1 = (val & 0 xFF9,得到一個(gè)變量的地址(word 寬度)#define B_PTR( var ( (byte * (void * &(var#defi ne W_PTR( var ( (word * (void * & (var10, 得到一個(gè)字的高位和低
7、位字節(jié)#defi ne WORD_LO(xxx (byte (word(xxx & 255#defi ne WORD_HI(xxx (byte (word(xxx 811, 返回一個(gè)比 X 大的最接近的 8 的倍數(shù)#defi ne RND8( x (x + 7 / 8 * 812, 將一個(gè)字母轉(zhuǎn)換為大寫#defi ne UPCASE( c ( (c = a & (c = 0 & (c = O & (c = A & (c = a & (c (val ? (val+1 : (val16, 返回?cái)?shù)組元素的個(gè)數(shù)#defi ne ARR_SIZE( a (
8、 sizeof( (a / sizeof( (a017, 返回一個(gè)無(wú)符號(hào)數(shù) n 尾的值 MOD_BY_POWER_OF_TWO(X,n=X%(2M#defi ne MOD_BY_POWER_OF_TWO( val, mod_by (dword(val & (dword(mod_by-118,對(duì)于 IO 空間映射在存儲(chǔ)空間的結(jié)構(gòu),輸入輸出處理#define inp(port (*(volatile byte * (port#define inpw(port (*(volatile word * (port#define inpdw(port (*(volatile dword *(por
9、t#define outp(port, val (*(volatile byte * (port = (byte (val#define outpw(port, val (*(volatile word * (port = (word (val#define outpdw(port, val (*(volatile dword * (port = (dword (val2005-9-9 添加19,使用一些宏跟蹤調(diào)試A N S I 標(biāo)準(zhǔn)說(shuō)明了五個(gè)預(yù)定義的宏名。它們是:_ L I N E _ F I L E _ D A T E _ T I M E _ S T D C _如果編譯不是標(biāo)準(zhǔn)的,則可能僅
10、支持以上宏名中的幾個(gè),或根本不支持。記住 編譯程序也許還提供其它預(yù)定義的宏名。_ L I N E _及_ F I L E _宏指令在有關(guān)# I i n e 的部分中已討論,這里討論其余 的宏名。_ D AT E _宏指令含有形式為月/日/年的串,表示源文件被翻譯到代碼時(shí)的日 期。源代碼翻譯到目標(biāo)代碼的時(shí)間作為串包含在 _ T I M E_中。串形式為時(shí):分: 秒。如果實(shí)現(xiàn)是標(biāo)準(zhǔn)的,則宏_ S T D C _含有十進(jìn)制常量 1。如果它含有任何其它 數(shù),則實(shí)現(xiàn)是非標(biāo)準(zhǔn)的。可以定義宏,例如:當(dāng)定義了 _DEBUG,輸出數(shù)據(jù)信息和所在文件所在行#ifdef DEBUG#define DEBUGMSG(msg,date printf(msg;printf(“d%d%d ,date,_LINE_,_FILE_#else#defi ne DEBUGMSG(msg
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贈(zèng)予車輛協(xié)議合同書模板
- 設(shè)備設(shè)施交接協(xié)議書范本
- 設(shè)計(jì)服務(wù)廣告合同協(xié)議
- 貴州營(yíng)運(yùn)車買賣合同協(xié)議
- 貨車微信上訂貨合同協(xié)議
- 購(gòu)買防雨棚合同協(xié)議
- 資產(chǎn)處置協(xié)議合同協(xié)議
- 試用協(xié)議和勞動(dòng)合同
- 2025年大學(xué)物理考試波動(dòng)現(xiàn)象考察重點(diǎn)試題及答案
- 2025年酒店管理專業(yè)畢業(yè)考試試題及答案
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測(cè)試網(wǎng)課答案
- MOOC 數(shù)據(jù)挖掘-國(guó)防科技大學(xué) 中國(guó)大學(xué)慕課答案
- 2024屆新高考物理沖刺復(fù)習(xí):“正則動(dòng)量”解決帶電粒子在磁場(chǎng)中的運(yùn)動(dòng)問(wèn)題
- 創(chuàng)業(yè)管理(上海財(cái)經(jīng)大學(xué))智慧樹知到期末考試答案2024年
- 二甲基亞砜項(xiàng)目可行性研究報(bào)告寫作范文
- 分公司合作協(xié)議書
- 日文履歷書(wordテンプレート)
- 成語(yǔ)兒歌100首
- 犁煤器、刮水器技術(shù)文件
- 沉箱碼頭設(shè)計(jì)
- 與但丁討論神曲高清大(含詳細(xì)人名)ppt課件
評(píng)論
0/150
提交評(píng)論