Динамические функции - PullRequest
0 голосов
/ 03 июля 2010

Хорошо, у меня есть странная ситуация.У меня есть два приложения.Одним из них является основное приложение, а другим - вспомогательный пакет, который загружается во время выполнения.То, что я хочу сделать, это вызвать функцию, определенную в основном приложении, из комплекта, чтобы не пришлось копировать код.Я попытался установить объявление заголовка для функции

   NSString *TXReadableTime(NSTimeInterval date, BOOL longFormat);

в пакете помощника, но по-прежнему не удается скомпилировать.Это потому, что один из моих селекторов вызывает функцию, а компилятор не находит ее в коде.Только ссылка на заголовок.

Итак, я думаю, что мой настоящий вопрос, есть ли способ иметь динамические функции?Тот, который обещан компилятору, но обрабатывается отдельным процессом.Сам пакет помощников размещается в памяти, поэтому у него есть доступ к селекторам основного приложения, но я не хочу переписывать функцию в селектор, потому что это потребует большой работы

1 Ответ

1 голос
/ 03 июля 2010

Используйте -bundle_loader флаг компоновщика, чтобы указать исполняемый файл, который будет загружать плагин.См. справочную страницу ld , другой документ Apple и этот информативный пост в блоге

...