我有一个静态库目标 c,其中包含一些 C 函数,我需要根据调用者修改其行为。我查看了https://opensource.apple.com/source/dyld/dyld-210.2.3/include/mach-o/dyld-interposing.h并看到它可以用于基本上“混合”C 函数。
我的问题是 - dyld_interpose 是否还会在包含我的插入代码的所有库/框架中插入 C 函数?
例如。
Library1 - 有 C 函数
void foo(int bar) {
...
}
Library2 - 有插入代码。取决于图书馆1
void my_foo(int bar) {
...
}
DYLD_INTERPOSE(my_foo, foo);
依赖于 Library1 和 Library2 的 Library3 是否也会被插入?如果它附加到应用程序怎么办?我已经取得了一些成功,让它在一个框架上工作。