У меня есть библиотека, которая использует встроенную функцию C и прекрасно компилируется.Когда другая библиотека ссылается на эту библиотеку, она все равно хорошо компилируется.Но если реальное приложение ссылается на библиотеку, оно не может скомпилировать, говоря, что символ _functionNameHere (да, имя функции, начинающееся с подчеркивания) не найден.
Если я удаляю встроенный спецификатор, все прекрасно скомпилируется,Но пока функция встроена в библиотеку, приложение не может компилироваться!
Есть идеи, почему это так?
Я знаю довольно много о компиляторах, но я новичок вObjective-C, и все, что я знаю об этом, является не чем иным как образованными догадками.И даже таким образом я не могу придумать причину, по которой он будет вести себя таким образом.
Дело в том, что встроенная функция - это INLINE, что означает, что символа вообще нет, он компилируется внутри строки, где бы он ни находился.называется, и приложение, ссылающееся на него, даже не должно знать, что оно когда-либо существовало.Это верно до тех пор, пока встроенная функция всегда встраиваема и доступна для библиотеки, и нет специальной конфигурации компилятора, которая бы запрещала встраивание, и все это верно.
Итак, кто угодно, приходите иуказывать пальцем на то, что я делаю / неправильно думаю ...
Спасибо: -)