Указание имени выходного файла (ключ -o) — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Указание имени выходного файла (ключ -o)

2022-10-05 24
Указание имени выходного файла (ключ -o) 0.00 из 5.00 0 оценок
Заказать работу

Выходным файлом является файл, собранный редактором связей из скомпилированных другими программами модулей. По умолчанию в качестве имени выходного файла используется первое имя из списка входных файлов. При этом, расширение нового файла будет зависеть от того, каков его тип:

 

Табл. 2‑7 Расширения для различных типов объектного файла.

Расширение Описание
.abs для абсолютных исполняемых файлов.
.rel для исполняемых перемещаемых файлов.
.elz для объектных файлов.

 

Произвольное имя выходного файла задаётся с помощью ключа:

-o<имя_файла>, где <имя_файла>- обязательный аргумент ключа.

Указанный ключ передаётся редактору связей.

2.10.9 Задание файла конфигурации редактора связей (ключ -c)

С помощью ключа -c задаётся файл конфигурации для редактора связей, в котором описывается схема распределения в памяти секций программы. Имя файла конфигурации должно следовать за ключом без пробела: -c<имя_файла>. Подробное описание файла конфигурации приведено в подразделе 4.11 «Файл конфигурации».

Используется при запуске редактора связей.

Создание карты памяти (ключ -m)

С помощью ключа -m<имя_файла> редактору связей даётся указание создать файл карты памяти для выходного файла.

Более подробное описание данного параметра содержится в пункте 4.8.9 «Создание карты памяти (ключ -m<имя_каталога>)»

Передаётся редактору связей.

2.10.11 Командный файл для редактора связей (ключ -@)

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

Имя файла команд должно идти непосредственно за ключом:

-@<имя_файла>.

Форма записи этого ключа отличается от используемой для вызова редактора связей: -@ для драйвера, в отличие от просто @ для редактора.

Более подробное описание данного параметра содержится в пункте 4.6.6 «Командный файл (@<имя_файла>)»

Используется при вызове редактора связей.

Отключение инициализации статических глобальных объектов (-asm)

Параметр -asm позволяет не использовать средств, необходимых для инициализации статических глобальных объектов в Си++.

Если пользователь использует свою точку входа, а его программа написана на ассемблере и не требует досрочной инициализации статических полей, он может использовать данный ключ для удаления из исполняемого файла специальных секций.init и.fini.

Более подробное описание данного параметра содержится в пункте 4.8.7 Отключение инициализации статических глобальных объектов (ключ -asm)

Передаётся редактору связей.

Параметры вызова программа по умолчанию

Списки параметров для каждой программы по умолчанию

При запуске программы по умолчанию используются следующие параметры вызова:

· -F, -DNM6403 для препроцессора (отметим, что по умолчанию определяется имя макро-символа языка Си++ NM6403, определяющее тип процессора, используется для всех процессоров серии 1879ВМ), -DNM6405 (если задан ключ -6405, -6406, -soc или –nmc3),

· -q для генератора кода, ассемблера и редактора связей,

· libc.lib для редактора связей.

В случае, если установлена переменная среды NEURO, в строки вызова программ автоматически добавляются пути к заголовочным файлам, к библиотекам макросов и библиотекам объектных файлов, входящих в типовой комплект NMSDK.

Имя выходного файла по умолчанию

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

Имя выходного файла совпадает с именем первого в списке компилируемых файлов, а расширение соответствует типу выходного файла, например, результатом успешной компиляции:

nmcc aaa.cpp bbb.cpp ccc.cpp

будет файл aaa.abs.

По умолчанию результатом компиляции является абсолютный исполняемый файл (расширение.abs).

Все описываемые в данном пункте соглашения, используемые по умолчанию, определяются редактором связей, поскольку именно он завершает этап компиляции. Более подробная информация об умалчиваемых значениях содержится в подразделе 4.9 «Параметры по умолчанию».

Пример работы с драйвером компонентов

Данный пример показывает процесс сборки абсолютного файла из двух исходных файлов:

Первым исходным файлом поставлен файл t2.cpp, однако выходной файл с помощью ключа -o именуется по имени главного файла проекта: templ.abs. Для сборки выходного файла используется библиотека времени выполнения Си++, которая подключается автоматически при условии, что установлена переменная среды NEURO.

Предупреждение было выдано компилятором переднего плана, т.к. тип функции main в файле templ.cpp был описан как void, что не совпадает требованием нового стандарта языка Си++.

Можно посмотреть какие программы были запущены драйвером:

Видно, что драйвер произвел подстановку переменной среды NEURO; стандартные файлы заголовков (.h) и стандартные макробиблиотеки находятся на диске в каталогах, подставляемых автоматически. Также видно, какие промежуточные файлы создаются в процессе работы программа:

t2.cc t2.ic t2.asm templ.cc templ.ic templ.asm

Так как в командной строке не был задан параметр -Stmp, все эти файлы драйвер по окончании работы удалил. Остались лишь объектные и абсолютный файлы (редактор связей по умолчанию создаёт абсолютные исполняемые файлы):

t2.elf, templ.elf и templ.abs


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.