Я недавно запустил nm -m -p -g
в библиотеке System.B.dylib
из iOS SDK4.3 и был удивлен, обнаружив множество символов, помеченных (undefined) (external)
.Почему и когда неопределенный символ будет отмечен как внешний?Я могу понять неопределенный внешний символ, помеченный lazy
или weak
, но это не так.Многие из функций pthread_xxx
попадают в эту категорию.Когда я связываюсь с этой библиотекой, все символы разрешаются.Символы pthread_xxx
определены в одной из библиотек в папке \usr\lib\system
, поэтому я предполагаю, что они удовлетворены оттуда.Как это работает во время ссылки?