注册映像加载和卸载的回调通知函数
void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide))void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide))
如果你通过函数_dyld_register_func_for_add_image注册了一个映像被加载时的回调函数时,那么每当后续一个新的映像被加载但未初始化前就会调用注册的回调函数,回调函数的两个入参分别表示加载的映像的头结构和对应的Slide值。如果在调用_dyld_register_func_for_add_image时系统已经加载了某些映像,则会分别对这些加载完毕的每个映像调用注册的回调函数。
如果你通过函数_dyld_register_func_for_remove_image注册了一个映像被卸载时的回调函数时,那么每当一个映像被卸载前都会调用注册的回调函数,回调函数的两个入参分别表示卸载的映像的头结构和对应的Slide值。
这两个函数的作用通常用来做程序加载映像的监控以及一些统计处理。