0
班倾倒和漏斗的原理是什么?他们为什么可以倒出objc的方法?为什么他们不能转储用C风格编写的函数?班倾倒和漏斗的原理是什么
班倾倒和漏斗的原理是什么?他们为什么可以倒出objc的方法?为什么他们不能转储用C风格编写的函数?班倾倒和漏斗的原理是什么
二进制文件中的C函数是由虚拟地址标识的代码块。 Objective-C的运行时是用C实现的,所以当选择发送C函数被调用,以真正做到这一点:
id objc_msgSend(id self, SEL op, ...);
第一个参数是类或者实例将接收选择。其次是selector
又名char*
名称。由于这些选择器名称是作为参数显式传递的,所有这些都需要在可执行二进制文件中处理。这就是倾销类的地方,因为与C函数虚拟地址相比,有更多的信息。