他の人が指摘しているように、Microsoft アプリは Mac に移植されました。彼らはおそらく、アプリ自体を書き直すよりも、基礎となる API/フレームワークを移植可能な抽象化レイヤーに変える方が簡単であることに気付きました... 移植時に QuickTime チームが行ったと伝えられているように反対方向 (Mac から Windows -- Mac の Carbon ヘッダーには、同様の #if WIN32 条件があります)。たとえば、Win32 アプリのコード ベース全体を調べて CreateFile() を探し、各参照を #ifdefs で置換または条件付けするのではなく、Mac バージョンの CreateFile() を作成してそれで完了します。Win32 API 呼び出しごとに繰り返します。
驚くべき歴史的トリビアは次のとおりです。Microsoft の移植作業の最終結果は、"Microsoft Visual C++ Cross-Development Edition for Macintosh" の形でサード パーティに提供されました。したがって、この抽象化レイヤーを使用して、誰でも自分の Win32 アプリを Mac に移植できます。
信頼できる MSDN の 1996 年 10 月の CD からの引用:
「Microsoft Visual C++ バージョン 4.0 Cross-Development Edition for Macintosh は、Microsoft Windows オペレーティング環境から Apple 680x0 Macintosh または Power Macintosh 環境へのプログラムの移行を容易にします。完全なプログラム開発環境を提供するように設計された Visual C++ for Macintosh は、C をサポートします。標準の C ランタイム ライブラリ、C++、OLE や ODBC を含むほとんどの Microsoft Win32 API、および Microsoft Foundation Class Library."
そのため、MFC も含まれていました。私の推測では、"#ifdef _MAC" は、MSVC++ Cross-Development Edition for Macintosh (RIP) の成果物であると考えられます。