2015-10-31 5 views
0

Проверка первых двух строк вывода otool -L /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO показывает, что библиотека, по-видимому, связана с самим собой. Есть ли причина для этого? Почему это даже имеет смысл?Почему это имеет смысл связывать библиотеку с самим собой?

/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO: 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) 
     /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0) 
     /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0) 
     /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1252.0.0) 
     /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1255.0.0) 
     /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 728.4.0) 
     /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib (compatibility version 1.0.0, current version 1.0.0) 
     /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) 
     /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5) 
     /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0) 
     /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0) 
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1) 

ответ

1

Первая строка вывода из otool -L это только путь к файлу, он работает на, так как передается в командной строке.

Вторая строка (первая с отступом) равна не зависимость. Он показывает имя установки библиотеки. Другими словами, он показывает значение команды загрузки LC_ID_DYLIB, а не команды LC_LOAD[_WEAK]_DYLIB.

На странице otool людей (который не находится в онлайн-справочной библиотеке компании Apple по какому-тому причиню):

-L  Display the names and version numbers of the shared libraries 
      that the object file uses, as well as the shared library ID if 
      the file is a shared library. 

Примечания: «а также разделяемой библиотеки ID, если файл является общей библиотекой ».

+0

oh, это имеет смысл. Однако очень запутанно. – cel

 Смежные вопросы

  • Нет связанных вопросов^_^