我正在浏览
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子集的时间?
微软曾经是全球最大的Macintosh软件开发商. Excel和Word在Macintosh上主宰了他们各自的市场,之后也是Office.所以这并不奇怪,MS的应用程序部门会想要在MAC上运行的Windows头文件的一部分 – 使他们的跨平台软件更容易维护.
原文链接:https://www.f2er.com/windows/371108.html但从来没有任何版本的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