Objective c GCC-fobjc直接分派选项具体做什么?

Objective c GCC-fobjc直接分派选项具体做什么?,objective-c,gcc,compiler-flags,Objective C,Gcc,Compiler Flags,GCC手册中说: 允许快速跳转到消息调度程序。在…上 达尔文:这是通过通信页面完成的 我可以假定此标志消除了动态分派吗?它是如何工作的? 我相信如果直接链接,它应该和C函数调用一样快。不,动态调度仍然存在(调用仍然通过objc\u msgSend路由)。这个选项目前与x86(-64)没有任何区别 发件人: 对于Objective-C程序经常调用的某些函数(例如,objc\u msgSend),高内存中存在特殊的入口点,可以直接跳转(例如,通过PowerPC上的“bla”指令)以提高性能。fobj

GCC手册中说:

允许快速跳转到消息调度程序。在…上 达尔文:这是通过通信页面完成的

我可以假定此标志消除了动态分派吗?它是如何工作的?
我相信如果直接链接,它应该和C函数调用一样快。

不,动态调度仍然存在(调用仍然通过
objc\u msgSend
路由)。这个选项目前与x86(-64)没有任何区别

发件人:

对于Objective-C程序经常调用的某些函数(例如,
objc\u msgSend
),高内存中存在特殊的入口点,可以直接跳转(例如,通过PowerPC上的“
bla
”指令)以提高性能。
fobjc直接调度
选项将导致生成此类跳转。此选项仅在下一次运行时可用;此外,使用
-fobjc direct dispatch
选项构建的程序将仅在Mac OS X 10.4(Tiger)或更高版本的系统上运行


可悲的是,文档链接现在断了;我不确定是否还有同等的文档存在!多亏了@earltedly,网站上还有更多的信息
-fobjc-direct-dispatch