10

Я уже давно пользуюсь системой MacOSX, но только недавно начал разбираться в ней. Я нашел руководство, в котором говорилось, что нужно запустить sudo ranlib /usr/local/lib/libjpeg.a'(install libjpeg). Я прочитал руководство по ranlib и попытался найти его в Интернете. Я просто не понимаю. Какие ресурсы мне нужно найти, чтобы узнать больше, или кто-то может дать краткое объяснение по его использованию? Заранее спасибо!

3 ответа3

14

Это описание выглядит довольно ясно: http://sourceware.org/binutils/docs/binutils/ranlib.html

Поэтому, если вы архивируете коллекцию объектных файлов, скажите:

$ ar r fruits.a apple.o orange.o pineapple.o

Потом работает

$ ranlib fruits.a

создает индекс содержимого fruits.a и сохраняет индекс в fruits.a. Это полезно для связывания и в случае, если объекты вызывают друг друга.

8

ranlib создает индекс содержимого архива и сохраняет его в архиве. Индекс перечисляет каждый символ, определенный членом архива, который является перемещаемым объектным файлом. Архив с таким индексом ускоряет соединение с библиотекой и позволяет подпрограммам в библиотеке вызывать друг друга независимо от их размещения в архиве.

источник: страница руководства ranlib

5

ranlib добавляет или обновляет объектные файлы в статической библиотеке. Linkers может использовать статические библиотеки , когда связь с тем , чтобы обеспечить символы , что код нуждается для того , чтобы работать (в отличие от погрузчика ищет их в динамических библиотеках при запуске исполняемого файла).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .