Главная » Просмотр файлов » GCC - The Complete Reference

GCC - The Complete Reference (537669), страница 86

Файл №537669 GCC - The Complete Reference (GCC - The Complete Reference) 86 страницаGCC - The Complete Reference (537669) страница 862015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 86)

Тем не менее, архитектура АВМ предусматривает возможность считывания из памяти слова без обязательного применения выравнивания адреса, и при этом ядро процессора способно обрабатывать такие данные при их загрузке. Опция -вга11дптеепк-стара сообщает компилятору, что обращение с нарушением выравнивания вызовет прерывание блока управления памятью ММ)3, и что вместо этого он должен генерировать последовательность инструкций для доступа к байтам памяти.

Компилятор способен использовать доступ по словам для загрузки данных длиной в полуслово, если ему известно, что применяется выравнивание адреса к границе машинного слова. -птарся Идентична опции -варев-ххагае. -птарсз-26 Генерирует код для процессора с 2б-битным счетчиком команд, соответствующиМ стандарту вызова функций с 26-битной адресацией архитектуры АКМ (АВМ Ргосейюе Са)! Згапс)агд).

Опция -геарсв-26 заменила опции -ай и -газ, которые существовали в прежних версиях компилятора. Глава 21. Машинно-зависимые опции компилятора 385 -тарс5-32 Генерирует код для процессора с 32-битным счетчиком команд, соответствующий стандарту вызова функций с 32-битной адресацией архитектуры АКМ. Опция -жарсв-32 заменила опцию -втб, которая существовала в более ранних версиях компилятора. -тарс54гате Генерирует кацр стека (Ггаще з(ас(г), совместимый со стандартом вызова процедур архитектуры АКМ, для всех функций, даже если соблюдение этого условия не обязательно для правильного выполнения кода.

По умолчанию используется опция -впо-арса-ггатве, При одновременном указании опций -шаров-ггатае и -готвхс-йгатве-ро1пеег кадры стека для вложенных функций формироваться не будут. -тагсЬ=пате Эта опция указывает имя конкретного процессора архитектуры АКМ, для которого предназначена компилируемая программа. Компилятор использует имя для определения типа инструкций, которые можно генерировать при формировании откомпилированного кода. Параметр петле может принимать следующие значения: агвт2, агтвт2а, агштЗ, >агтатэж, агтата, агтвтае, агтат5, агтат5С и агтачвге, -тЬ! 9-епс11ап Генерирует код для процессора, работающего в режиме обратного порядка байтов (Ь1я епойап). По умолчанию код генерируется для процессора, работающего с прямым порядком байтов. Также см.

опцию -ат13.сс1е-епбхап, -тса11ее-Запрег-1п1епмогЫпя Присваивает всем функциям из компилируемого файла, видимым извне, заголовок набора инструкций АКМ, который переводит процессор в режим ТйцгпЬ перед выполнением остальных функций. Такая конфигурация позволяет вызывать функции из кода, не поддерживающего обмен между программами, поптп1егттог)гтпя сот(е.

-тса11ег-5ырег-1п1егтвгогИп9 Позволяет корректно вызывать функции (включая виртуальные) посредством указателей на функции независимо от того, был ли код откомпилирован для работы в режиме межпрограммного обмена. При компиляции кода с установленной этой опцией код будет содержать дополнительные служебные данные небольшого размера. "тЬ5с1 Эта опция может использоваться только для процессоров К! ЯС тХ для включения эмуляции режима ВБО, основного для компилятора.

Опция установлена по умолчанию, если не указана опция -апвх. Также см. опцию -вскореп. 13 к грнффмтс 386 Часть ИЬ Внутренняя структура и окружение -пзсры=пате Эта опция указывает тип процессора АКМ, для которого компилируется данная программа. Компилятор использует имя процессора для определения типа генерируемых инструкций при формировании им ассемблерного кода.

Параметр пете может иметь следующие значения: агтп2, ахзп250, ахзпз, агзпб, аггпбО, аггпб00, агвб10, аппб20, аггп7, ахтп7ш, агтпткт, агтп7епп, агкп761, апптсугп1, ахтп70, аггп700, апп7001, ахтп710, апп710с, агпг7100„аггп7500, аггп75008е, агпгтгкугп1, аггпв, вггопдахв, вхгопдагкп110, вхгопдагкп1100, агюв, аггп810, агзп9, аггпве, агтп920, апв920Е, агкп940Х, аггп9скЬп1„агзп190гкузп1, ахтп1020Х и квса1е, Также см. опцию -пгхцпе. -пйр=питЬег Идентична опции -ягуаре лшпбех. -Ыре= питЬег Эта опция указывает версию эмуляции операций над числами с плавающей точкой, доступной на предназначаемой платформе ((агйеГ).

Параметр пшпЬег может иметь значения 2 и 3. -пз1)агд-Лоа1 Генерирует код, содержащий операции над числами с плавающей точкой. Эта опция установлена по умолчанию. Также см. опцию -пгвойх-й1оаг. -пз1Ме-еп(11ап Генерирует код для процессора, работающего в режиме прямого порядка байтов.

Эта опция установлена по умолчанию для всех стандартных конфигураций. Также см. опцию -шЬ1д-епб1ап. -пу1оп9-саП5 Эта опция приводит к генерации кода, который выполняет вызовы функций путем загрузки их адреса в регистр с последующей передачей управления функции на основании содержащегося в регистре адреса.

По умолчанию используется схема вызова -впо-1опд-са11в, при которой вызовы функций помещаются в область действия директивы йргадтпа 1опд са11в охх. Опция -гп1опд-са11в не влияет на способ выработки кода вызова функций с помощью указателей. Эта опция необходима в случае, если адрес вызываемой функции лежит за пределами области непосредственной (короткой) адресации размером б4 Мбайт. Даже при установленной зтой опции некоторые функции не будут вызываться с помощью алгоритма длинного вызова. В качестве примера можно привести статические функции, функции с атрибутом вЬогг-са11, функции, находящиеся в пределах области видимости директивы йргадюа по 1опд са11в, и функции, описания которых уже скомпилированы в текущем модуле компиляции.

С другой стороны, функции с замещаемыми определениями (иеа)к бебпй|опз), функции имеющие атрибуг Глава 21. Машинно-зависимые опции компилятора 387 1опд-са11в, функции, находящиеся в разделе с атрибутом 1опд-са11в, и функции, находящиеся в пределах области действия директивы «ркадтяа 1опд са11в, всегда вызываются с помощью алгоритма длинного вызова. -(У)поР-1((п-(!!!!Г)) РОГ1 Исключает поддержку атрибута д111втроке.

-птрк-гея!«1ег=гед Указывает регистр, который будет использоваться для перемещаемой, позиционно-независимой (Р)с) адресации. по умолчанию используется регистр н1О, но если разрешена обратная трассировка стека (ЬасМгасе), то используется регистр нв. Также см. опцию -тяв1пд1е-рдс-Ьаве. -ГГ) ро!(е-1и(зевло)з-)заг)те Записывает имена всех функций в текстовый раздел непосредственно перед кодом пролога функции. Генерируемый код будет выглядеть примерно следующим образом: .авс11 "апп роке кцпсс1оп пепе", О .а11яп Е1 .молд Охкксооооо + (Е1-ЕО) акта роде кппсс1оп паше меч 1р, вр всмкд вр!, [Ер, ьр, 1к, рс) виъ Др, 1р, «4 При обратной трассировке стека код может проверять счетчик команд по адресу 1р+О. Далее, если функция трассировки обнаруживает, что старшие восемь бит по адресу рс-12 установлены, то зто означает, что имя функции находится непосредственно перед этим адресом.

Длина имени равна ( (рс (-3) ) аатарт Охй«ОООООО). -())дйй(!-РГО!09 Эта опция установлена по умолчанию. Установка опции -пщо-всЬет)-рко1од предотвращает переупорядочение инструкций в прологе функции и объединение их с инструкциями, находящимися в теле функции. В коде, генерируемом при установленной опции -впо-всЬед-рко1од, все функции начинаются с более легко распознаваемого набора инструкций. Этот факт может использоваться для обнаружения начала функции внутри выполняемого кода.

-т«!)ой-!оа(!-ЬУ!ЕД Устаревшая форма опции -ма11дщаепс-вкарв. -й)Д!)0Г1-!оа С!-)(((0Г(!Д Это — устаревшая форма опции -таа11дпвепс-свара. Она распознается, но не воздерживается. 3 88 Часть П1. Внутренняя структура и окружение -п)5!п9! е-Р!с-Ьа5е Приводит к тому, что регистр, используемый для перемещаемой, позиционно- независимой (Р1С) адресации, становится доступным только для чтения и не загружается в пролог функций. Инициализация этого регистра производится системой загрузки перед началом выполнения программы.

Также см. опцию -юрис-гедввеег, -п)50т1-т!Оа1 Генерирует код, который для выполнения операций с плавающей точкой выполняет вызовь| функций эмуляции из библиотеки. По умолчанию установлена опция -юЬага-й1оас. Следует иметь в виду, что необходимые библиотеки имеются не для всех процессоров АКМ. Как правило, для этого используются библиотеки языка С, но подключить их непосредственно в процессе кросс-компиляции невозможно. Если эта опция установлена, то необходимо подключение внешних библиотек. Опция -ювоге-б1оае изменяет соглашение о вызовах функций, используемое в коде.

Поэтому ее удобнее применять только при компиляции всей программы. Чтобы программа работала, с этой же опцией необходимо откомпилировать и библиотеку 15Ьдсс . а (эта библиотека входит в состав компилятора ОСС). -гп51гос1оге-йе-Ьоипдагу=пигпЬег Размер всех структур и объединений (цпюпз) будет округляться до числа, кратного количеству бит, установленного с помощью этой опции. Для параметра лцювег допускаются значения в и зд. Указание большего числа может привести к генерации более быстрого и эффективного кода, но и его размер будет больше. Значение, установленное по умолчанию, зависит от формата объектных файлов. Для формата СОГР по умолчанию используется значение 8. Два допустимых значения опции потенциально несовместимы. Код, откомпилированный с одним значением, может не работать с кодом или библиотеками, откомпилированными с другим значением, если они передают или принимают данные с помощью структур или объединений. -гп5уптгепагпе Применяется по умолчанию.

Как и опцию -юцо-вутагецаюе, ее можно использовать только для процессоров с архитектурой ИБС 1Х для подавления постпроцессора ассемблера вуюгепаюе, обычно запускаемого после ассемблирования кода. Как правило, это бывает необходимо для изменения отдельных стандартных символов при подготовке к компоновке с библиотеками С для архитектуры й!БС 1)(. Указание опции -яато-вуаьгеттаюе также исключает применение постцроцессора. Постпроцессор никогда не используется компилятором, настроенным для красс- компиляции.

Характеристики

Тип файла
DJVU-файл
Размер
6,08 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6274
Авторов
на СтудИзбе
316
Средний доход
с одного платного файла
Обучение Подробнее