麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

VC里一些容易混淆的地方

2023-06-09 12:08:11
字體:
來源:轉載
供稿:網友

1.FALSE/TRUE與false/true的區別:

false/true是標準C++語言里新增的要害字,而FALSE/TRUE是通過#define,這要用途是解決程序在C與C++中環境的差異,以下是FALSE/TRUE在windef.h的定義:

#ifndefFALSE
#defineFALSE0
#endif

#ifndefTRUE
#defineTRUE1
#endif


也就是說FALSE/TRUE是int類型,而false/true是bool類型;所以兩者不一樣的,只不過我們在使用中沒有這種感覺,因為C++會幫你做隱式轉換。

2.bool的大小與BOOL的區別:

bool在C++里是占用1字節,而BOOL是int類型,int類型的大小是視具體環境而定的;所以來說:false/true只占用1個字節,而TRUE/FALSE視具體環境而言,以下是BOOL在windef.h中的定義:typedefintBOOL;

3.NULL與0的區別:

還是讓我們看一下windef.h中NULL的定義:

#ifndefNULL
#ifdef__cplusplus//這個是指示是用C++來編譯程序
#defineNULL0
#else
#defineNULL((void*)0)
#endif
#endif

所以說:它們沒有區別,只不過在C里面會做一個強制類型轉換。

4.HINSTANCE與HMODULE的區別:

在windef.h中的定義:

typedefHINSTANCEHMODULE;/*HMODULEscanbeusedinplaceofHINSTANCEs*/ 內容來自www.serverjia.cn電腦知識網


5.CALLBACK,WINAPI的實質:

在windef.h中的定義:

#undeffar
#undefnear
#undefpascal

#definefar
#definenear
#if(!defined(_MAC))&&((_MSC_VER>=800)||defined(_STDCALL_SUPPORTED))
#definepascal__stdcall
#else
#definepascal
#endif

#ifdefined(DOSWIN32)||defined(_MAC)
#definecdecl_cdecl
#ifndefCDECL
#defineCDECL_cdecl
#endif
#else
#definecdecl
#ifndefCDECL
#defineCDECL
#endif
#endif

#ifdef_MAC
#defineCALLBACKPASCAL
#defineWINAPICDECL
#defineWINAPIVCDECL
#defineAPIENTRYWINAPI
#defineAPIPRIVATECDECL
#ifdef_68K_
#definePASCAL__pascal
#else
#definePASCAL
#endif
#elif(_MSC_VER>=800)||defined(_STDCALL_SUPPORTED)
#defineCALLBACK__stdcall
#defineWINAPI__stdcall
#defineWINAPIV__cdecl
#defineAPIENTRYWINAPI
#defineAPIPRIVATE__stdcall
#definePASCAL__stdcall
#else
#defineCALLBACK

#defineWINAPI
#defineWINAPIV
#defineAPIENTRYWINAPI

#defineAPIPRIVATE
#definePASCALpascal
#endif


6.一些常見類型的定義:

在windef.h中的定義:

typedefUINTWPARAM;
typedefLONGLPARAM;
typedefLONGLRESULT;


typedefintINT;
typedefunsignedintUINT;


typedefunsignedlongDWord;
typedefintBOOL;
typedefunsignedcharBYTE;
typedefunsignedshortWORD;
typedeffloatFLOAT;

typedefunsignedlongULONG;
typedefunsignedshortUSHORT;
typedefunsignedcharUCHAR;
typedefchar*PSZ;

7.常見Window資源類型的實質:

在windef.h中的定義:

DECLARE_HANDLE(HPEN);
DECLARE_HANDLE(HBITMAP);
DECLARE_HANDLE(HBRUSH);
DECLARE_HANDLE(HDC);
DECLARE_HANDLE(HFONT);
DECLARE_HANDLE(HICON);
DECLARE_HANDLE(HMENU);
DECLARE_HANDLE(HMETAFILE);
DECLARE_HANDLE(HINSTANCE);
DECLARE_HANDLE(HPALETTE);
typedefWORDATOM;
typedefHANDLEHGLOBAL;
typedefHANDLEHLOCAL;
typedefHANDLEGLOBALHANDLE;
typedefHANDLELOCALHANDLE;
typedefHICONHCURSOR;/*HICONs&HCURSORsarepolymorphic*/
typedefDWORDCOLORREF;

在windowsx.h中:

#defineDECLARE_HANDLE32DECLARE_HANDLE

penwin.h:

#ifndefDECLARE_HANDLE32
#defineDECLARE_HANDLE32(name)/
structname##__{intunused;};/
typedefconststructname##__FAR*name
#endif//!DECLARE_HANDLE32 

8.Platform的編譯版本的相關預處理宏:

MacroDescription
__cplusplusDefinedforC++programsonly.
_MFC_VERDefinestheMFCversion.Definedas0x0421forMicrosoftFoundationClassLibrary4.21.Alwaysdefined.
_MSC_VERDefinesthecompilerversion.Definedas1200forMicrosoftVisualC++6.0.Alwaysdefined.
_WIN32DefinedforapplicationsforWin32®.Alwaysdefined.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频在线看 | 国产精品久久久久久久久久三级 | 欧美一级网 | 亚洲av一级毛片特黄大片 | 国产精品久久久久影院老司 | 欧美日韩大片在线观看 | 毛片视频在线免费观看 | 九九热久久免费视频 | 国产一区二区三区欧美 | 久久久久久久一区二区三区 | 看免费黄色大片 | 欧美日韩精品中文字幕 | 91精品国产91热久久久做人人 | 一本色道久久综合亚洲精品图片 | 亚洲精品成人久久久 | 欧美精品日日鲁夜夜添 | 欧美一级淫片免费视频1 | 亚洲欧美国产高清va在线播放 | 一级黄色片在线看 | 亚洲精品欧美二区三区中文字幕 | 久久久电影电视剧免费看 | 免费观看欧美一级片 | 黑人一区二区三区四区五区 | 国产亚洲精品久久久久婷婷瑜伽 | 欧美亚洲一级 | 久久久无码精品亚洲日韩按摩 | 性欧美极品xxxx欧美一区二区 | 免费国产一级淫片 | 91精品国产91热久久久做人人 | 日本特级a一片免费观看 | 国产精品99久久久久久大便 | 国产91丝袜在线播放0 | 91精品国产综合久久婷婷香蕉 | 欧美雌雄另类xxxxx | 182tv成人福利视频免费看 | 欧美偷拍一区二区 | chinesexxxx极品少妇| 黄色片在线观看网站 | 国产精品中文在线 | 亚洲欧美日韩精品久久 | 新久草视频 |