微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

winapi – Windows头文件中的“#ifdef _MAC”是什么?

我正在浏览 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头文件的一部分 – 使他们的跨平台软件更容易维护.

但从来没有任何版本的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

原文地址:https://www.jb51.cc/windows/371108.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐