Линкер программа что это

При незначительном размере программного кода (один файл), ассемблер интерпретирует его в объектный файл (*.obj), который содержит все необходимые машинные инструкции, готовые к использованию. Данная процедура называется абсолютным ассемблированием (работа с абсолютными адресами).

В связи с ростом сложности приложений, выполняемых на микроконтроллерах во встроенных системах, суммарное количество строк одного проекта может быть слишком велико и размещение их всех в одном файле не представляется возможным по ряду причин. Во-первых, снижается удобочитаемость всего программного кода, во-вторых, при минимальном внесении корректив в данный проект, приходилось бы перекомпилировать весь файл, размер которого чрезвычайно огромен и соответственно время его трансляции выросло бы в несколько раз.

В настоящее время большинство приложений строится из множества файлов проекта (библиотеки и т.д.), каждый из которых содержит сотни и тысячи строк ассемблерного кода. Для организации механизма разработки иерархических проектов ассемблер ST7, STM8 фирмы STMicroelectronics использует ряд дополнительных ключевых слов и инструкций EXTERN и PUBLIC.

LD GCC линковка библиотек в деталях

Ключевое слово EXTERN для компоновщика означает, что конкретная метка (функция, переменная) объявлена во внешнем файле. Ключевое слово PUBLIC означает, что данная переменная (функцию) может использоваться в других внешних файлах проекта. Общая структура проекта и схема взаимодействия между файлами представлена на рисунках 2.2 и 2.3 соответственно. В основной файл проекта My_project.asm (рис.

2.3) подключается заголовочный файл библиотеки (library.inc), которые содержит прототип функции (function_library). Непосредственная реализация данной функции (подпрограммы) выполняется в исходном файле library.asm.

Рис. 2.3.

Схема взаимодействия между файлами проекта Таким образом, обязательным атрибутом любого ассемблера является наличие компоновщика (linker), в задачи которого входит: – объединение объектных фалов (*.obj) в один; – корректировка значений адресов во всех операндах команд, которые ссылаются на объект, чье расположение в памяти установлено либо изменено в процессе конкатенации. Для выполнения подобных действий необходим контрольный файл, в котором бы оговаривались правила последовательности объединения объектов (*.obj), их перечень, а также абсолютные адреса, которым будет произведена привязка при занесении их в память микроконтроллера.

Читайте также:
Firefox для чего предназначена программа

Как только программа скомпонована, на выходе получаем абсолютный объектный файл (*.abs или *.cod), который может использоваться как для отладки в эмуляторе, так и для прошивки EPROM микроконтроллера.

Рис. 2.4. Выходной результаты работы компоновщика Результатом работы компоновщика являются (рис.

2.4): – абсолютный объектный файл (*.cod или *.abs); – файл таблицы имен (*.sym); – файл распределения (*.map). Файл таблицы имен (*.sym) содержит используемые в программе идентификаторы (метки, имена подпрограмм и переменных) и их атрибуты (признаки); таблица имен создается во время работы транслятором и компоновщиком; используется на стадиях семантического анализа и генерации промежуточного кода, а также для компоновки программы. Она может быть сохранена соответственно в объектном или загрузочном модуле для целей отладки. Файл распределения (*.map) содержит информацию о компонуемых файлах и внешних (public) символах.

C++ с нуля | 08 | Компиляция и линковка

Источник: studfile.net

Что такое Линкер? Значение термина Линкер

Линкер (компоновщик, редактор связей, linker, link editor) – программа, которая осуществляет компоновку, то есть принимает на вход один, либо несколько объектных модулей, а затем собирает по ним исполнимый модуль.

Для связывания модулей линкер использует таблицы имен, которые создает компилятор в каждом из объектных модулей. Данные имена могут быть двух видов

  • Определенные (экспортные) – это функции и переменные, которые определены в данном модуле. Они предоставляются для использования другими модулями
  • Неопределенные (импортируемые) – это переменные и функции, на которые ссылается модуль. Сам же модуль, внутри себя их не определяет

.
Функция линкера заключается в том, чтобы в каждом модуле определить и связать ссылки на неопределенные имена.

Помогло? Делись!

Реклама:

Представляем
систему управления сайтами
NetCat

CMS NetCat — профессиональная коммерческая система управления Интернет-сайтами, один из лидеров на российском рынке веб-разработок.
Наша компания является сертифицированным партнером и рекомендуемым разработчиком сайтов на NetCat во Владивостоке.
В настоящее время большинство новых сайтов мы создаем на основе ее программной платформы.

Читайте также:
Что за программа синтезатор речи Google

Источник: animatika.ru

Linker

Linker позволяет отправлять ссылки прямо на ваш компьютер через локальную домашнюю сеть. Это обеспечивает конфиденциальную и надежную связь без необходимости подключения к Интернету или стороннего поставщика облачных услуг. Все, что нужно, — это работающее соединение WiFi и серверное приложение, работающее на конечном компьютере.

Следуйте этим инструкциям по установке:

На твоем компьютере:
1. Загрузите серверное приложение для своего компьютера здесь: http://www.luismedinaweb.com/downloads.php#linkerServer
* ПРИМЕЧАНИЕ. Для серверного приложения требуется установка Java.
2. Откройте программу Linker Server.
3. При необходимости разрешите доступ к сети Linker Server через брандмауэр.

На вашем мобильном устройстве:
4. После установки и запуска серверного приложения установите это приложение на свое мобильное устройство.
5. Убедитесь, что вы подключены к той же беспроводной сети, что и компьютер, на котором запущено серверное приложение.
6. Откройте приложение и нажмите кнопку «Подключиться». Приложение будет искать компьютер, на котором запущено серверное приложение.
7. Статус должен измениться на «Подключено».
8. Готово! Не забывайте выбирать приложение «Linker» всякий раз, когда хотите поделиться ссылкой!

Источник: play.google.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru