Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
01.05.2014
Размер:
206.19 Кб
Скачать

Переменные окружения

Поведение редактора связей ldможно изменить при помощи переменной окруженияGNUTARGET.

GNUTARGETзадает формат входных файлов, если не задана опция-b(или ее синоним-format). Ее значением должно быть одно из допустимых обозначений входного формата. Если переменнаяGNUTARGETне определена, тоldиспользует формат, определенный для данной платформы по умолчанию. Если значение GNUTARGET естьdefault, то делается попытка определить формат входных файлов по их содержимому. Это, как правило, удается, но в некоторых случаях распознавание неоднозначно, поскольку отсутствуют методы обеспечения уникальности магических чисел для разных типов объектных файлов. Процедура конфигурирования BFD для каждой платформы помещает стандартный для нее формат первым в список поиска, поэтому неоднозначности разрешаются в пользу стандартных решений.

Ассемблер as Общие сведения

Ассемблер asпредназначен для ассемблирования программ, полученных в результате выполнения прохода компиляции (cc1). Объектные файлы, полученные в результате применения ассемблера, могут быть загружены на целевую машину непосредственно или предварительно объединены в один перемещаемый файл при помощи редактора связейld.

Ассемблирование выполняется за один проход исходного файла.

Формат командной строки

Командная строка ассемблера имеет вид:

as[ -a[dhlns][=файл] ] [-D] [--defsymсимвол=значение] [ -f ] [ --help] [ -Iкаталог] [-J] [-K] [-L] [ -oвыходной_файл] [-R] [--statistics] [ -v] [ -version] [--version] [-W] [-w] [ -x] [ -Z] [-nocpp] [-EL] [-EB] [-Gчисло] [-mcpu=процессор] [ -mips1][ -mips2] [ -mips3] [ -m4650] [ -no-m4650] [ --trap] [ --break] [ --emulation=имя ] [--|файлы... ]

После имени программы asкомандной строке могут содержаться опции и имена файлов. Опции могут следовать в произвольном порядке и могут перемежаться с именами входных файлов. Порядок записи имен входных файлов в командной строке существен.

Символы “––“ обозначают стандартный ввод как имя входного файла (или одного из них) для ассемблера.

За исключением “––“, все аргументы командной строки, начинающиеся с ““, считаются именами опций. Опция — это последовательность символов, начинающаяся со знака ““, за которым следуют буквы. Регистр букв существен. Каждая опция определенным образом влияет на работу ассемблера. Ни одна опция не влияет на интерпретацию прочих опций и ни одна не является обязательной.

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

as -o my-object-file.o mumble.s

as -omy-object-file.o mumble.s

Входные файлы и исходная программа

Термин "исходная программа" или "программа" служит для обозначения программы, которая должна быть обработана за один запуск as. Программа может находиться в одном или нескольких файлах; способ разбиения исходного текста программы по файлам не имеет значения. Исходная программа определяется как конкатенация текста всех исходных файлов в том порядке, в котором они заданы в командной строке.

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

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

Соседние файлы в папке Еще материалы