C語(yǔ)言中宏定義的妙用方法
最近看了intel在linux內(nèi)核中的驅(qū)動(dòng),學(xué)習(xí)到了一個(gè)非常有用的小技巧,如下代碼:
#define IN
#define OUT
#define UAdress volatile unsigned int *
#define Raw_buffer void *
void SetHwiPortsDataReg(IN UAdress Register , IN int value)
{
_SetHwiPortsDataReg(Register,&value);
}
void _Out_Put_value(IN UAdress Register, OUT Raw_buffer buffer)
{
_Out_Put_value(Register,buffer);
}
這里,IN和OUT的定義可以讓代碼更容易閱讀,如上,IN表示把數(shù)據(jù)輸入,OUT表示取數(shù)據(jù),一個(gè)小小的技巧。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
C++中關(guān)鍵字Struct和Class的區(qū)別
C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)
C++簡(jiǎn)單實(shí)現(xiàn)消息隊(duì)列的示例代碼
c++利用stl set_difference對(duì)車輛進(jìn)出區(qū)域進(jìn)行判定
C指針原理教程之語(yǔ)法樹(shù)及其實(shí)現(xiàn)
QT5交叉編譯入門(mén)級(jí)教程(arm64、mips64)

