Như những người khác đã lưu ý, ứng dụng Microsoft đã được chuyển đến Mac, và họ có thể tìm thấy dễ dàng hơn để biến các API/khung bên dưới thành lớp trừu tượng di động, thay vì tự viết lại ứng dụng ... giống như nhóm QuickTime được báo cáo khi chuyển sang hướng ngược lại (từ Mac sang Windows - - Có #if điều kiện WIN32 tương tự trong tiêu đề Carbon của Mac). Ví dụ: thay vì riffle mặc dù toàn bộ cơ sở mã của ứng dụng Win32 tìm kiếm CreateFile() và thay thế hoặc điều kiện hóa từng tham chiếu bằng #ifdefs, chỉ cần tạo phiên bản Mac của CreateFile() và được thực hiện với nó. Lặp lại cho mỗi cuộc gọi API Win32.
Một chút đáng ngạc nhiên của lịch sử đố là: kết quả cuối cùng của nỗ lực chuyển của Microsoft đã có sẵn cho bên thứ ba dưới dạng "Microsoft Visual C++ Phiên bản phát triển chéo cho Macintosh". Vì vậy, bất cứ ai có thể lấy ứng dụng Win32 của họ và chuyển nó sang Mac bằng cách sử dụng lớp trừu tượng này.
Trích từ đáng tin cậy của đĩa CD MSDN Tháng Mười 1996 tôi:
"Microsoft Visual C++ phiên bản 4.0 Cross-Phát triển Edition cho Macintosh tạo điều kiện cho việc chuyển giao chương trình cho môi trường điều hành Microsoft Windows để Apple 680x0 Macintosh hoặc Power Macintosh môi trường. Được thiết kế để cung cấp môi trường phát triển chương trình hoàn chỉnh, Visual C++ cho Macintosh hỗ trợ C, thư viện C thời gian chạy chuẩn, C++, hầu hết API Microsoft Win32 bao gồm OLE và ODBC và Thư viện lớp Microsoft Foundation. "
Vì vậy, nó thậm chí còn bao gồm MFC. Tôi đoán là bất kỳ "#ifdef _MAC" nào là một tạo phẩm của phiên bản phát triển chéo MSVC++ cho Macintosh (R.I.P.).
Nguồn
2010-12-09 00:22:17
Loại tương tự như cách nhìn vào iTunes cho Windows, bạn thấy một loạt tệp '.plist' và một cái gì đó gọi là' Foundation.framework' hoặc tương tự, IIRC. – asveikau
@asveikau: Chắc chắn rồi.Nhiều sản phẩm của Apple cho Windows thậm chí mang lại cho MacOS vẻ ngoài và cảm nhận (giống như các sản phẩm của Microsoft dành cho Solaris), vì vậy tôi đoán họ làm theo cách khác xung quanh và cung cấp MacOS như API như một trình bao bọc xung quanh Windows. – jarnbjo
@jarnbjo Trên thực tế, đối với các thư viện ObjC này, trước hết là Mac OS X. IIRC, NeXT có Foundation/AppKit hoạt động theo NT trong thập niên 90. – asveikau