IOS上的LC_加载_动态链接器和自定义链接器
在查看Mach-O文件支持的LC_u命令列表时,我注意到LC_LOAD_DYLINKER命令,它指定要使用哪个动态链接器 在IOS上,这似乎总是指向同一个位置,即设备上的标准DYLDIOS上的LC_加载_动态链接器和自定义链接器,ios,mach-o,dyld,Ios,Mach O,Dyld,在查看Mach-O文件支持的LC_u命令列表时,我注意到LC_LOAD_DYLINKER命令,它指定要使用哪个动态链接器 在IOS上,这似乎总是指向同一个位置,即设备上的标准DYLD 我很好奇,使用这个命令,IOS上是否支持自定义链接器,如果支持,他们是否有创建链接器的指导原则?以前有人这样做过吗 iOS上没有其他公共动态链接器,也可能没有其他私有动态链接器。Mac OS X只有dyld。大多数人不会从创建新的动态链接器中获益,特别是考虑到: 加载应用程序是一项关键任务 正在加载应用程序 动态
我很好奇,使用这个命令,IOS上是否支持自定义链接器,如果支持,他们是否有创建链接器的指导原则?以前有人这样做过吗 iOS上没有其他公共动态链接器,也可能没有其他私有动态链接器。Mac OS X只有
dyld
。大多数人不会从创建新的动态链接器中获益,特别是考虑到:
- 加载应用程序是一项关键任务李>
- 正在加载应用程序李>
- 动态链接器必须能够在没有任何共享库的帮助下加载库,包括
,它公开了C标准库和POSIXAPI李>libSystem.so
- 苹果的
工作正常dyld
interp
部分,指定预期动态链接器(如果有)的路径。虽然这将允许您创建自己喜欢的动态链接器,但实际上,大多数现代x86系统只有两个:一个用于32位应用程序,另一个用于64位应用程序(实际上只是同一程序的两个版本)。由于libc必须从动态链接器加载,libc项目往往包括一个;但这项任务非常重要,周围没有太多这样的人。我只知道libc的ld
和musl的ld musl