У меня есть цель статической библиотеки c с некоторыми функциями C, поведение которых мне нужно изменить на основе вызывающих. Я просмотрел https://opensource.apple.com/source/dyld/dyld-210.2.3/include/mach-o/dyld-interposing.h и увидел, что его можно использовать для существенного изменения функций C.
Мой вопрос: будет ли dyld_interpose также вставлять функцию C во все библиотеки/фреймворки, содержащие мой промежуточный код?
eg.
Library1 - имел функцию C
void foo(int bar) {
...
}
Library2 - Имеет вставочный код. Зависит от библиотеки1
void my_foo(int bar) {
...
}
DYLD_INTERPOSE(my_foo, foo);
Будет ли также вставлена библиотека 3, зависящая как от библиотеки 1, так и от библиотеки 2? А если он прикреплен к заявке? Я добился некоторого успеха, заставив его работать над фреймворком.
dyld_stub_binder
трамплин). Возможно, указатель на оболочку функции C был бы подходящим вариантом в вашем случае для этого дополнительного уровня логики. Несколько связанная тема статические символы в macos mach или двоичные файлы с внешними символами"> stackoverflow.com/questions/56880169/ - person Kamil.S   schedule 17.10.2020