|
LD(7)
НАЗВАНИЕ
ld - вызывает редактор связи.
СИНТАКСИС
ld [options] filename
ОПИСАНИЕ
ld является редактором связи XENIX. Он создает вычисляемую программу путем объединения одного или более объектных
файлов и копирования вычисляемого результата в файл a.out.
filename должен назвать объект или библиотечный файл. Эти имена должны иметь ".о" (для объекта) или ".а" (для архивной библиотеки) расширения. Если дано более, чем одно имя, имена
должны разделяться одним или более пробелами. Если при связывании возникли ошибки, ld выдает на дисплей сообщения об ошибках: результирующий файл а.out не вычисляем.
ld конкатенирует содержание данных объектных файлов в порядке, задаваемом управляющей строкой. Библиотечные файлы в
управляющей строке рассматриваются только в том случае, если
существуют неразрешенные внешние ссылки, поступившие из предыдущих объектных файлов. Библиотечные файлы должны быть в
ranlib(1) формате, первый член должен называться __.SYMDEF,
который является словарем библиотеки. Библиотека повторно
просматривается для того, чтобы удовлетворить как можно большему количеству ссылок, и конкатенируются только те программы,
которые определяют неразрешенные внешние ссылки. Объектные и
библиотечные файлы обрабатываются в точке, в которой они поступают в список аргументов, и в связи с этим имеет значение
порядок файлов в управляющей строке.В общем случае все объектные файлы должны даваться до библиотечных файлов. ld устанавливает входную результирующую программу в начало первой программы.
Существуют следующие параметры:
- -A num
- Создает автономную программу, ожидаемый загрузочный адрес, которой (в шестнадцатиричном коде) - num. Этот параметр устанавливает абсолютный флаг в заголовок файла
a.out. Такие программные файлы могут вычисляться только
как автономные программы. Параметры -А и -F взаимоисключающие.
- -В num
- Устанавливает текстовый селектор в определенное шестнадцатиричное число.
- -с num
- Меняет целевой ЦПУ по умолчанию в заголовке x.out. num
может быть 0, 1, 2 или 3, указывая 8086, 80186, 80286 и
80386 процессоры, соответсвенно. По умолчанию для
8086/80286 систем 0. По умолчанию до 80386 систем 3. Отметим, что этот параметр изменяет только умолчание; если
подсоединены объектные модули, содержащие код для процессора с высшими номерами, то это потребует превышения над
умолчанием.
- -С
- Прописные символы или строчные не различаются редактором
связи.
- -D num
- Устанавливает селектор данных в определенное нестандартное число.
- -С5
- Включает бит для вызова /usr/lib/coffconv с редактором
связи, порождая x.out в двоичном исчислении, совместимый с
COFF.
- -СХ
- Выключает битовую установку с -С5, которая находится в
заголовке объектного файла.
- -F num
- Устанавливает размер программного стека в num байтов, где
num - шестнадцатиричное число. Этот параметр игнорируется
для программ 80386, у которых стек имеет переменный размер. По умолчанию программы 8086 имеют переменный стек,
расположенный сверху первого сегмента данных, а программы
80286 имеют стек фиксированного размера в 4096 байт. Параметр -F несовместим с -А.
- -i
- Cоздает отдельные командные и информациооные пространства
для маленьких модельных программ. Когда вычисляется выходной файл, програмные текстовые и информационные пространства помещаются в отдельные физические сегменты. Текстовая часть будет считываться и делиться между всеми
пользователями, работающими с файлами.
- -La
- Устанавливает рекомендуемую файловую блокировку. Рекомендуемая файловая блокировка используется в файлах с режимами доступа, не требующими обязательной блокировки.
- -Lm
- Устанавливает обязательную файловую блокировку. Обязательная файловая блокировка используется в файлах, которые не могут быть открыты одновременно более чем одним
пользователем.
- -m name
- Создает связывающий табличный файл с именем name, включающим общие символы.
- -Ms
- Этот параметр резервируется для объектных файлов, компилированных или ассемблированных с помощью конфигурации
маленьких моделей. Это является моделью по умолчанию,
если задан параметр -M.
- -Mm
- Создает программу средней модели и проверяет на ошибки.
Этот параметр резервируется для объектных файлов, компилированных или ассемблированных с помощью конфигурации
средней модели. Эта опция применяет -i.
- -MI
- Создает программу средней модели и проверяет на ошибки.
Этот параметр резервируется для объектных файлов, компилированных с помощью конфигурации большой модели. Этот
параметр применяет -i.
- -Mx
- Определяет модель памяти. х может иметь следующие значения:
| s | маленький |
| m | средний |
| l | большой |
| h | очень большой |
| e | смешанный |
- -n num
- Усекает символы на длину, определенную num.
- -N num
- Устанавливает размер страницы на шестнадцатиричный num
(который должен быть кратен 512) - по умолчанию 1024 для программ 80386. 8086/80186/80286 программы, как правило, не имеют
выравненных по странице файлов x.out, и по умолчанию для них.
- -о name
- Устанавливает имя файла вычисляемой программы, равное
name вместо a.out.
- -P
- Делает невозможным упаковку сегментов.
- -r
- Вызывает пошаговый связыватель /lib/ldr с аргументами,
передаваемыми на ld для создания переместимого выходного файла.
- -R
- Служит для того, чтобы таблица перемещений была не нулевого размера. Важна для совместимости 8086.
- -Rd num
- Определяет смещение перемещения сегмента информации
(только 80386). num - шестнадцатиричное число.
- -Rt num
- Определяет смещение перемещения сегмента текста (только
80386). num - десятиричное число.
- -s
- Очищает таблицу символов.
- -S num
- Устанавливает максимальное число сегмента на num. Если
нет аргументов, по умолчанию 128.
- -u symbol
- Обозначает некоторый symbol как неопределенное.
- -v num
- Определяет число версий XENIX. Доступные значения для num
2,3 или 5; 5 по умолчанию.
ld следует вызывать с помощью cc(1) вместо ее прямого
вызова. Сс вызывает ld как последний шаг компилляции, обеспечивая все необходимые поддерживающие программы языка С. Прямой
вызов ld не рекомендуется, так как неудача выдачи аргументов
управляющей сторки в правильном порядке может дать ошибки.
ФАЙЛЫ
/bin/ld
СМ. ТАКЖЕ
ar(2), cc(2), ld(2), masm(2), ranlib(2)
ПРИМЕЧАНИЯ
Перед тем, как связываться, пользователь должен убедиться, что с ranlib(2) выполняются самые последние библиотечные
версии. Если это не сделано, ld не сможет создать вычисляемые
программы, используя эти библиотеки.
|
 |
 |
|
Новости мира IT:
- 02.02 - Apple задумала выпустить iPhone в формате «раскладушки»
- 02.02 - Соцсети вскоре столкнутся с массовыми набегами ИИ-агентов, предупредили учёные
- 02.02 - Обещанная Павлом Дуровым интеграция Grok c Telegram до сих пор не случилась и, похоже, уже никогда не случится
- 02.02 - Запустилась соцсеть Moltbook, где общаются только ИИ-агенты — людям разрешили только наблюдать
- 29.01 - Линус Торвальдс принял план передачи управления репозиторием ядра Linux в непредвиденных ситуациях
- 29.01 - ИИ-стартап Илона Маска xAI получит $2 млрд от Tesla до конца марта
- 29.01 - Бигтехи снова забрасывают OpenAI деньгами — Nvidia, Microsoft и Amazon обсуждают инвестиции на $60 млрд
- 29.01 - Samsung утроила квартальную прибыль до рекордных $14 млрд, но по итогам года впервые уступила SK hynix
- 29.01 - Google заплатит $135 млн за тайный сбор данных пользователей Android и больше не будет «шпионить» без спроса
- 26.01 - Представлен смартфон NexPhone, совмещающий Android, Debian и Windows
- 26.01 - Российская команда Parivision сенсационно выиграла первый крупный турнир года по Counter-Strike 2
- 26.01 - Стоимость акций Sandisk неожиданно взлетела на 1000 % всего за несколько месяцев
- 26.01 - Россияне столкнулись с массовым сбоем сервисов, позволявших обходить ограничения мобильного интернета
- 20.01 - Организация Open Quantum Design работает над проектом по созданию открытого квантового компьютера
- 20.01 - Роскомнадзор заявил об удвоении количества DDoS-атак в 2025 году
- 20.01 - В Яндекс Картах теперь можно делиться геопозицией с близкими
- 20.01 - OpenAI пообещала практический ИИ уже в этом году — и похвалилась выручкой в $20 млрд за прошлый
- 20.01 - Роскомнадзор разогнал блокировки на 59 % в прошлом году — под запрет попали 1,3 млн материалов
- 14.01 - Компания Anthropic выделила 1.5 млн долларов проекту Python
- 14.01 - Состоялся релиз Firefox 147
Архив новостей
|
 |
 |
 |
|
|
 |
 |
 |
|
|
|
 |
 |
|