日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C++ 學(xué)習(xí)筆記2

 fisher60 2012-04-13

1、在windows程序中,經(jīng)常會(huì)用到這種位標(biāo)志標(biāo)識(shí)符,如:style = CS_HREDRAW | CS_VREDRAW ; CS_HREDRAW  = 0x0001 ; CS_VREDRAW  = 0x0002;

2、窗口過(guò)程函數(shù):是一個(gè)回調(diào)函數(shù)?;卣{(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí),由另一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。

3、回調(diào)函數(shù)的使用方法

      1)定義一個(gè)回調(diào)函數(shù)。

      2)定義方,在初始化時(shí),將回調(diào)函數(shù)的指針傳注冊(cè)給調(diào)用者。

      3)  當(dāng)事件或條件發(fā)生時(shí),調(diào)用者使用指針回調(diào)該函數(shù)。

4、_cdecl 和 _stdcall

__cdecl 是C DECLaration的縮寫(xiě)(declaration,聲明),表示C語(yǔ)言默認(rèn)的函數(shù)調(diào)用方法:所有參數(shù)從右到左依次入棧,這些參數(shù)由調(diào)用者清除,稱(chēng)為手動(dòng)清棧。被調(diào)用函數(shù)不會(huì)要求調(diào)用者傳遞多少參數(shù),調(diào)用者傳遞過(guò)多或者過(guò)少的參數(shù),甚至完全不同的參數(shù)都不會(huì)產(chǎn)生編譯階段的錯(cuò)誤。

  _stdcall 是StandardCall的縮寫(xiě),是C++的標(biāo)準(zhǔn)調(diào)用方式:所有參數(shù)從右到左依次入棧,如果是調(diào)用類(lèi)成員的話(huà),最后一個(gè)入棧的是this指針。這些堆棧中的參數(shù)由被調(diào)用的函數(shù)在返回后清除,使用的指令是 retnX,X表示參數(shù)占用的字節(jié)數(shù),CPU在ret之后自動(dòng)彈出X個(gè)字節(jié)的堆??臻g。稱(chēng)為自動(dòng)清棧。函數(shù)在編譯的時(shí)候就必須確定參數(shù)個(gè)數(shù),并且調(diào)用者必須嚴(yán)格的控制參數(shù)的生成,不能多,不能少,否則返回后會(huì)出錯(cuò)。

int  WINAPI  WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
)

【說(shuō)明】

#define WINAPI     __stdcall

typedef  CHAR  *LPSTR,  *PSTR;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多