我正在浏览 Windows Platform SDK 头文件(真是太棒了,对吧?),我注意到很多地方都包含对预处理器符号的引用_MAC
。例如:
// WinUser.h line 1568
/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
正如它所显示的那样,这是否意味着“Macintosh”?曾经有一段时间可以为 Macintosh 编译 Windows 或 Windows 的子集吗?
微软曾一度是世界上最大的麦金塔软件开发商。 Excel 和 Word 在 Macintosh 上占据了各自的市场,后来 Office 也占据了主导地位。因此,MS 的应用程序部门想要在 MAC 上运行的 Windows 头文件的子集也就不足为奇了,以使他们的跨平台软件更易于维护。
但从来没有任何版本的 Windows 操作系统可以在 Macintosh 上运行。
无论如何,这个片段来自 objidl.h,似乎表明 _MAC 确实意味着头文件中的 Macintosh...
//FSSpec is Macintosh only, defined in macos\files.h
#ifdef _MAC
typedef struct tagSTATSTG
{
LPOLESTR pwcsName;
FSSpec *pspec;
DWORD type;
ULARGE_INTEGER cbSize;
...
} STATSTG;
#else //_MAC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)