【发布时间】:2019-09-06 08:00:27
【问题描述】:
我有一个 64 位 Cocoa 应用程序,由于遗留原因,它调用 Carbon 函数 CancelMenuTracking 来关闭打开的菜单。 CancelMenuTracking 是从com.apple.Carbon 包动态加载的。
问题是,为什么它可以工作(在 macOS 10.14.4 上)?在删除该文档之前,几乎所有 Carbon Menu Manager 功能都被记录为在 64 位上不可用。
【问题讨论】:
-
请张贴 com.apple.Carbon 的位置,以便我可以在料斗中看到它
-
@MarekH 菜单功能来自 HIToolbox 子框架,
/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework。 -
lipo -info /System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/HIToolbox 胖文件中的架构:/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox。框架/HIToolbox 是:i386 x86_64 -> 已为 32 位和 64 位版本编译,但我没有比较它们是否具有相同的调用表(名称函数)。
标签: cocoa 64-bit macos-carbon