1, 2: Нет. Библиотеки на самом деле не выгружаются при выходе из приложения - они просто исчезают вместе с остальной частью процесса, так же, как другие ресурсы (например, файловые дескрипторы, отображенная память розетки, и т. д. ) освобождаются при выходе.
3: Зависит от того, как вы добавили библиотеку. Если вы загрузили его, используя что-то вроде dlopen()
, вы сможете выгрузить библиотеку, например, с помощью dlclose()
; NSBundle
имеет что-то эквивалентное.
Имейте в виду, что выгрузка библиотек является грязной. В частности, небезопасно выгружать библиотеку, которая содержит какие-либо классы ObjC, поскольку среда выполнения могла кэшировать ссылки на ваши классы.