Windows編程--關於_beginthreadex的一個宏定義

來源:互聯網
上載者:User


之所以寫成宏定義。是因為覺得每一次對參值進行類型轉換很麻煩。

 

#define BEGINTHREADEX(psa, cbStack, pfnStartAddr,   \
pvParam, fdwCreate, pdwThreadId) \
((HANDLE)_beginthreadex( \
(void *) (psa), \
(unsigned) (cbStack), \
(PTHREAD_START) (pfnStartAddr), \
(void *) (pvParam), \
(unsigned) (fdwCreate), \
(unsigned*) (pdwThreadId)))

 

 

 

unsignedlong _beginthreadex( void *security, unsigned stack_size, unsigned ( __stdcall*start_address )( void * ), void *arglist, unsigned initflag, unsigned*thrdaddr );

 

//第1個參數:安全屬性,NULL為預設安全屬性
//第2個參數:指定線程堆棧的大小。如果為0,則線程堆棧大小和建立它的線程的相同。一般用0
//第3個參數:指定線程函數的地址,也就是線程調用執行的函數地址(用函數名稱即可,函數名稱就表示地址)
//第4個參數:傳遞給線程的參數的指標,可以通過傳入對象的指標,線上程函數中再轉化為對應類的指標
//第5個參數:線程初始狀態,0:立即運行;CREATE_SUSPEND:suspended(掛起)
//第6個參數:用於記錄線程ID的地址

FangSH

2011-01-05

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.