Команда ranlib в Linux с примерами

Опубликовано: 16 Февраля, 2022

Команда ranlib в Linux используется для создания индекса для архивации. ranlib генерирует индекс содержимого архива, и оно будет сохранено в архиве. В указателе перечислены все символы, определенные членом архива, который представляет собой просто перемещаемый объектный файл. Вы можете использовать nm -s или nm –print-armap, чтобы перечислить весь этот индекс. Архив с таким индексом ускоряет связывание с библиотекой и позволяет подпрограммам в библиотеке вызывать друг друга независимо от их размещения в архиве. Программа GNU ranlib - это еще одна форма GNU ar; запуск ranlib полностью эквивалентен запуску ar -s .

Синтаксис:

ranlib [--plugin name] [-DhHvVt] архив

Пример: будет сгенерирован индекс для архивации, как показано в примере ниже.

Объяснение: Как вы можете видеть в приведенном выше примере, мы архивируем три файла с именами main.o , point.o и rectangle.o в fruit.a, а затем с помощью команды ranlib генерируем индекс для содержимого архива, и он будет сохранен в архив.

Параметры:

  • –Help: эта опция покажет информацию об использовании для ranlib.
     ranlib --help

  • –Version: эта опция покажет номер версии ranlib .
     ranlib --version

  • -D: эта опция будет работать в детерминированном режиме. В архиве карты символов заголовка члена будет отображаться ноль для UID, GID и отметки времени. Когда используется эта опция, несколько запусков будут производить идентичные выходные файлы.

    Пример:

     ранлиб -D фрукты.а

    Объяснение: Как вы можете видеть в приведенном выше примере, мы архивируем три файла с именами main.o , point.o и rectangle.o в fruit.a, а затем с помощью команды ranlib с опцией -D меняем режим работы на детерминированный и создание индекса содержимого архива, и оно будет сохранено в архиве.

  • -t: эта опция обновит метку времени символьной карты архива.

    Пример :

     ранлиб -t фрукты.а
  • -U: эта опция не работает в детерминированном режиме. Это полная противоположность опции -D. Индекс архива получит фактические значения UID, GID, отметки времени и режима файла. Если binutils был сконфигурирован без использования –enable -terministic-archives , то этот режим установлен по умолчанию.

    Пример:

     ранлиб -U fruit.a