

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,防止一個頭文件被重復(fù)包含#ifndefCOMDEF_H#defineCOMDEF_H/頭文件內(nèi)容#endif2,重新定義一些類型,防止由于各種平臺和編譯器的不同,而產(chǎn)生的類型字節(jié)數(shù)差異,方便移植。typedefunsignedcharboolean;/*Booleanvaluetype.*/typedefunsignedlongintuint32;/*Unsigned32bitvalue*/typedefunsignedshortuint16;/*Unsigned16bitvalue*/typedefunsignedcharuint8;/*Unsigned8bitvalue*/typede
2、fsignedlongintint32;/*Signed32bitvalue*/typedefsignedshortint16;/*Signed16bitvalue*/typedefsignedcharint8;/*Signed8bitvalue*/下面的不建議使用typedefunsignedcharbyte;/*Unsigned8bitvaluetype.*/typedefunsignedshortword;/*Unsinged16bitvaluetype.*/typedefunsignedlongdword;/*Unsigned32bitvaluetype.*/typedefunsign
3、edcharuint1;/*Unsigned8bitvaluetype.*/typedefunsignedshortuint2;/*Unsigned16bitvaluetype.*/typedefunsignedlonguint4;/*Unsigned32bitvaluetype.*/typedefsignedcharint1;/*Signed8bitvaluetype.*/typedefsignedshortint2;/*Signed16bitvaluetype.*/typedeflongintint4;/*Signed32bitvaluetype.*/typedefsignedlongsi
4、nt31;/*Signed32bitvalue*/typedefsignedshortsint15;/*Signed16bitvalue*/typedefsignedcharsint7;/*Signed8bitvalue*/3,得到指定地址上的一個字節(jié)或字#defineMEM_B(x(*(byte*(x#defineMEM_W(x(*(word*(x4,求最大值和最小值#defineMAX(x,y(x>(y?(x:(y#defineMIN(x,y(x<(y?(x:(y5, 得到一個field在結(jié)構(gòu)體(struct中的偏移量#defineFPOS(type,field/*lint-e
5、545*/(dword&(type*0->field/*lint+e545*/6, 得到一個結(jié)構(gòu)體中field所占用的字節(jié)數(shù)#defineFSIZ(type,fieldsizeof(type*0->field7, 按照LSB格式把兩個字節(jié)轉(zhuǎn)化為一個Word#defineFLIPW(ray(word(ray0*256+(ray18, 按照LSB格式把一個Word轉(zhuǎn)化為兩個字節(jié)#defineFLOPW(ray,val(ray0=(val/256;(ray1=(val&0xFF9, 得到一個變量的地址(word寬度)#defineB_PTR(var(byte*(void*
6、&(var#defineW_PTR(var(word*(void*&(var10, 得到一個字的高位和低位字節(jié)#defineWORD_LO(xxx(byte(word(xxx&255#defineWORD_HI(xxx(byte(word(xxx>>811, 返回一個比X大的最接近的8的倍數(shù)#defineRND8(x(x+7/8*812, 將一個字母轉(zhuǎn)換為大寫#defineUPCASE(c(c>='a'&&(c<='z'?(c-0x20:(c13, 判斷字符是不是10進值的數(shù)字#defineDECC
7、HK(c(c>='0'&&(c<='9'14, 判斷字符是不是16進值的數(shù)字#defineHEXCHK(c(c>='0'&&(c<='9'|(c>='A'&&(c<='F'|(c>='a'&&(c<='f'15,防止溢出的一個方法#defineINC_SAT(val(val=(val+1>(val?(val+1:(val16,返回數(shù)組元素的個數(shù)#def
8、ineARR_SIZE(a(sizeof(a/sizeof(a017,返回一個無符號數(shù)n尾的值M0D_BY_P0WER_0F_TW0(X,n=X%(2m#defineMOD_BY_POWER_OF_TWO(val,mod_by(dword(val&(dword(mod_by-118,對于IO空間映射在存儲空間的結(jié)構(gòu),輸入輸出處理#defineinp(port(*(volatilebyte*(port#defineinpw(port(*(volatileword*(port#defineinpdw(port(*(volatiledword*(port#defineoutp(port,va
9、l(*(volatilebyte*(port=(byte(val#defineoutpw(port,val(*(volatileword*(port=(word(val#defineoutpdw(port,val(*(volatiledword*(port=(dword(val2005-9-9添加19,使用一些宏跟蹤調(diào)試ANSI標(biāo)準(zhǔn)說明了五個預(yù)定義的宏名。它們是:_LINE_FILE_DATE_TIME_STDC_如果編譯不是標(biāo)準(zhǔn)的,則可能僅支持以上宏名中的幾個,或根本不支持。記住編譯程序也許還提供其它預(yù)定義的宏名。_LINE_及_FILE_宏指令在有關(guān)#line的部分中已討論,這里討論其余的宏名。_DATE_宏指令含有形式為月/日/年的串,表示源文件被翻譯到代碼時的日期。源代碼翻譯到目標(biāo)代碼的時間作為串包含在_TIME_中。串形式為時:分:秒。如果實現(xiàn)是標(biāo)準(zhǔn)的,則宏_STDC_含有十進制常量1。如果它含有任何其它數(shù),則實現(xiàn)是非標(biāo)準(zhǔn)的??梢远x宏,例如:當(dāng)定義了_DEBUG,輸出數(shù)據(jù)信息和所在文件所在行#ifdef_DEBUG#defineDEBUGMSG(msg,dateprintf(msg;printf(“%d%d%d”,date,_LINE_,_FILE_#else#defineDEBUGM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國玻璃鋼防護罩市場調(diào)查研究報告
- 2025年中國普通聚氯乙烯護套電源線市場調(diào)查研究報告
- Unit 3 Charity Reading A Grammar in use 教學(xué)設(shè)計 -2024-2025學(xué)年高中英語上外版(2020)選擇性必修第二冊
- 2025年中國嬰兒護膚濕巾市場調(diào)查研究報告
- 2025年中國發(fā)電機保護斷路器市場調(diào)查研究報告
- 2025年中國公路施工機械市場調(diào)查研究報告
- 2025年中國不銹鋼潔具市場調(diào)查研究報告
- 第十四章第1節(jié)《熱機》教學(xué)設(shè)計-2024-2025學(xué)年人教版物理九年級上學(xué)期
- 2024-2025年高中化學(xué)課時分層作業(yè)5攝取人體必需的化學(xué)元素含解析蘇教版選修1
- 2024-2025學(xué)年高中數(shù)學(xué)第二章數(shù)列2.3等差數(shù)列的前n項和課時作業(yè)新人教A版必修5
- 高中主題班會 悟哪吒精神做英雄少年-下學(xué)期開學(xué)第一課主題班會課件-高中主題班會課件
- 2025版大學(xué)食堂冷鏈?zhǔn)巢呐渌头?wù)合同模板3篇
- 2024年青島港灣職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 廣西壯族自治區(qū)公路發(fā)展中心2025年面向社會公開招聘657名工作人員高頻重點提升(共500題)附帶答案詳解
- 《中國的宗教》課件
- 2025年山東魯商集團有限公司招聘筆試參考題庫含答案解析
- 大學(xué)轉(zhuǎn)專業(yè)高等數(shù)學(xué)試卷
- 大型活動中的風(fēng)險管理與安全保障
- 公司廠區(qū)保潔培訓(xùn)
- 課題申報書:個體衰老差異視角下社區(qū)交往空間特征識別與優(yōu)化
- 2024年防盜門銷售合同范本
評論
0/150
提交評論