在 Mach-O 二进制文件的 DATA 段中,有一些特定于 Objective-C 的部分(在Mach-O 文件格式的第 7 页提到)
引用PiOS 论文:
__objc_classlist 部分包含所有类的列表,其实现存在于分析的二进制文件中(即,开发人员实现或静态链接器包含的所有类)
和
另一方面,__objc_classref 部分包含对应用程序使用的所有类的引用。这些类的实现不需要包含在二进制文件本身中,但可以由运行时框架(相当于动态链接库)提供。
他们提到这些结构的布局可从 Objective C 运行时标头(可在此处获得)中获得。
__objc_classref
和部分的实际结构是__objc_classlist
什么?
提前致谢。