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
在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.
新聞熱點
疑難解答