预处理指令的嵌套如何看呀?请教几行代码?
这些代码没有嵌套,我主要不明白的是:
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
这一句,对应的是哪句 #if 呀。还有,预处理指令,为何不能嵌套写呀,这样看着太乱了
#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif
这些代码没有嵌套,我主要不明白的是:
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
这一句,对应的是哪句 #if 呀。还有,预处理指令,为何不能嵌套写呀,这样看着太乱了
#ifdef _MAC
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif
这一句,相当于 else if 吧,但是,它对应的是哪个 if 呢?
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#else
#endif
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL #ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif
#if A
#if B
#endif//和A是对应的,因为A的if是第一个开始查找的
#endif//和B是对应的。因为之前那个#endif已经被A占领了