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

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

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

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

Отменить действие опции -вппск можно с помощью опции -втпо-вовк. -Гппо-а)(9пе-32г! пяорв Отменяет выравнивание результатов расширяемых подстановкой кода ((л!ше) операций со строками. Опция -впо-а11дпе-вег1пдорв уменьшает размер кода и увеличивает его производительность в случае, если переменная результата операции уже имеет выравнивание. -гппо-1апсу-Гоаб!1-387 Некоторые эмуляторы математического сопроцессора 387 не поддерживают следующие инструкции вхп, сов и вггге, имеющиеся в аппаратном сопроцессоре. Опция -пшо-хапсу-шаЕЪ-387 гарантирует, что эти инструкции генерироваться не будут. Опция будет работать только при указании опции -хппвайе-ваеЪ-орейяк1гае1опв. Опция -втпо-хапсу-тяаеь-387 устанавливается по умолчанию для систем РгееВ8Р, ОрелВВР и )к(е1В8Р.

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

Если такое устройство отсутствует, то система должна эмулировать устройство для выполнения операций с плавающей точкой. Применение опции -вше-хр-гее-1п-387 приводит к тому что возвращаемые результаты функций записываются в обычные регистры центрального процессора. -П)ПО-ГЕ(!-2ОПЕ Для процессоров АМР х86-64 в 64-битной среде эта опция подавляет использование так называемой "красной зоны" (ге() лопе) кода х86-64.

"Красная зона" предусмотрена машинным интерфейсом прикладных программ (ЕшЬег(г(ед Арр!)са((опз В1пату )птегГасе, ЕАВ!) процессора х86-64 и представляет собой 128-битную область за пределами указателя стека, содержимое которой не изменяется обработчиками сигналов и прерываний и благодаря этому может использоваться для хранения временных данных без изменения указателя стека. Опция -впо-хек)-гопе запрещает использование "красной зоны" процессоров АМР х86-64. 404 Часть 111. Внутренняя структура и окружение -топй-1еаИгате-ро! п1ег Не сохраняет в регистре указатель на кадр стека (Ггагпе з1ас)т) для функций, имеющих вложенные вызовы (!еат )ппст!опз).

Это запрещает использование инструкций записи, установки и восстановления указателя кадра стека и позволяет освободить один регистр для использования во вложенных функциях. Для запрещения использования регистра указателя на кадр стека для всех функций может использоваться опция -йстаее-1еай-йгазве-роепеег. Учтите, что это может создавать сложности при отладке программы. -треп11от Идентична опции -шсри=репе1ста. Этот формат опции считается устаревшим. -треп11отрго Идентична опции -жсри=репе1шарго.

Этот формат опции считается устаревшим. -трге$енед-йас!г-Ьоипг!агу=питЬе)' Пытается поддерживать выравнивание стека к границе 2 в степени питьегбайт По умолчанию используется значение 4 (т.е. выравнивание производится по границе 16 байт или 128 бит). При оптимизации размера кода с помощью опции -ов выравнивание устанавливается по минимально возможному размеру (четыре байта для процессора х86, восемь байт для х86-64). Для процессоров Репйщп и Репйшп Рго значения типа боиЬ1е и 1опс куоиЬ1е во избежание снижения скорости выполнения кода должны выравниваться по границе 8 байт.

Для процессоров Рептшгп П! использование типа ш128 из набора расширения 88е (81геагп!п8 Ям!) ехтепейоп) также снижает скорость выполнения кода, если данные этого типа не выравнивать ло границе 16 байт. Для обеспечения правильного выравнивания данных в стеке граница самого стека также должна иметь выравнивание, соответствующее хранящимся в стеке значениям. Кроме того, все генерируемые функции должны сохранять стек с применением выравнивания.

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

Дополнительное выравнивание, устанавливаемое опцией -жргейеггеб-яеаск-ьоттпбагу увеличивает размер стека и, как правило, также увеличивает размер кода. Для кода, чувствительного к объему стека, например, кода встраиваемых систем (егпбег!г)ед зузтешз) и ядра, границу выравнивания можно понизить до -ятргейеггеб-аеас!к-Ьсипбагу=2. Также см. опцию -тва13.дп-бсиЬ1е. -тР051У-ВГ95 Использует операции ривЬ для записи выходных параметров.

Такой метод короче, и по характеристикам производительности, как правило, он не хуже, чем исполь- Глава 21. Машинно-зависимые опции компилятора 405 зованне для этого операций виЬ/квот . Для семейства процессоров 1пте! 386 и АМ 1! х86-64 используется по умолчанию. Его можно отменить опцией -втпо-ривЬ-агдв. В некоторых случаях это позволяет несколько увеличить производительность благодаря улучшенному планированию и ослаблению зависимостей. -тгедрагт=питЬег Устанавливает количество регистров, используемых для передачи целочисленных аргументов. По умолчанию для передачи аргументов регистры не используются. Максимальное значение, допустимое для параметра пизвЬег, равно 3.

Количество используемых регистров можно устанавливать отдельно для каждой функции с помощью атрибута гепрагтв. При использовании опции -твгедрагтв с ненулевым значением параметра пизвЬег все модули программы, включая используемые библиотеки, должны компилироваться с одним и тем же значением этого параыетра, -тг2г! Использует другое соглашение о вызове функций„в соответствии с которым возврат из функций с фиксированным количеством аргументов осуществляется с помощью инструкции гес пшв. Инструкция гее псзв при возврате из функции выталкивает аргументы из стека. Это позволяет сэкономить одну инструкцию в вызывающем модуле. Такой тип соглашения о вызовах можно задать для отдельной функции, объявив ее с атрибутом вгбса11.

Действие опции -звгед можно отменить с помощью атрибута сбес1. Такое соглашение о вызовах функций несовместимо с системой !3!к!1Х, поэтому его нельзя применять при использовании библиотек, откомпилированных с помощью компиляторов О! !1Х. Кроме того, необходимо объявление прототипов всех функций с переменным количеством аргументов.

Если этого не сделать, то для вызова таких функций будет сгенерирован неверный код, Учтите, что каждый раз при вызове функции с лишними аргументами будет возникать ошибка. При стандартном соглашении о вызовах лишние аргументы игнорируются. -т50Й-г!Оа2 Генерирует код, содержащий вызовы функций из библиотек для выполнения операций над числами с плавающей точкой, Виблиотеки функций не входят в состав компилятора ССС. Как правило, используются библиотеки компилятора С предназначаемой целевой платформы, но их невозможно непосредственно подключить в кросс-компиляции. Поэтому при выполнении кросс-компиляции необходимо точно указывать соответствующие функции библиотек. При компиляции программ для компьютеров, на которых функции возвращают числовые результаты с плавающей точкой через стек регистров математического сопроцессора 80387, могут генерироваться отдельные машинные коды операций, несмотря на использование опции -юпвогс-г1оаг.

406 Часть )П. Внутренняя структура и окружение -П)$5с Разрец>ает использование встроенных функций, предоставляющих прямой доступ к инструкциям расширенного набора инструкций 88Е (8)геагл)лй 8)М)3 Ехтелз)ол). Действие опции -швее отключается применением опции -впо-вве. -п)ззе2 Разрешает использование встроенных функций прямого доступа к инструкциям расширенного набора инструкций 88Е2 (8)геагп)л8 $)МЭ Ехтелз)ол версии 2).

Действие этой опции можно отключить указанием опции -впо-вве2. -п)ФГедсЬ Включает поддержку системы обшей обработки исключений при использовании потоков, имеющейся в компиляторе М1лйи32. Весь код, который использует обработку исключений в многопоточном режиме, должен компилироваться и компоноваться с установленной опцией -втсьхеатзв. Применение опции -квеькеатзв также автоматически устанавливает опцию -и мт. Во время компоновки с опцией -зшзлптнеЬхтз подключается особая вспомогательная библиотека для обработки исключений в многопоточной среде. При этом также из программы убирается код раздельной обработки исключений для отдельных потоков.

-пзьчГЗ-зЫИз Указывает, что компилятор должен помешать неинициализированные локальные переменные в сегмент данных Ьвв. Чтобы компилятор размеШал переменные в сегменте данных «зава, необходимо указать опцию -впо-вчкз-вЬ1з.ь. Эти две опции доступны только для системы Бузтегл Ч Ке)еазе 3. Опции для платформы!псе! 960 Ниже перечислены опции, определенные для реализаций 1лте) 960. -ГП ФУРЕ Устанавливает значения по умолчанию для указанного типа машины. Сюда входят параметры планирования инструкций, поддержка операций над числами с плавающей точкой и режимы адресации. Параметр суре может принимать следующие значения: )ка, )кЬ, вкс, са, сй, ва и вЬ. По умолчанию используется значение )кЬ.

-ГПд5ПЗ-СОГПРдк Включает режим совместимости с ассемблером )С960. -Гпсотзе-д!) 9п Для обеспечения быстрого выполнения применяет выравнивание кода ло границе 8 байт. В настоящее время эта опция установлена по умолчанию только для реализаций серии "С", для других серий по умолчанию используется опция -аюо-сеете-а1здв. Глава 21. Машинно-зависимые опции компилятора 407 -всовр1ех-агЫГ Указывает компилятору, что для этой реализации 1960 желательно использовать режим комплексной адресации (сотр1ех аг)гезз)п8 тоде). Для серии "К" режимы комплексной адресации могут быть неэффективны, но для серии "С" их эффективность ощутима.

По умолчанию для всех процессоров, кроме сЬ и сс, те. тех процессоров, для которых используется опция -юсоюр1ех-акЫг, установлена опция -юпо-союр1ех-агЫг. -вк-совра2 Включает режим совместимости с 1С960. -в1с2.0-совра2 Включает режим совместимости с 1С960 версии 2. -вкЗ.О-совра2 Включает режим совместимости с )С960 версии 3. -в1пте!-адв Идентична опции -юаню-союрас. -в1еа1-ргоседи ген Эта опция указывает, что компилятор должен пытаться изменять процедуры, имеющие вложенные вызовы (1еагргоседцгез), таким образом, чтобы они могли быть вызваны не только с помощью инструкции са11, но и с пОмощью инструкцИИ Ьа1. Действие опции -ю1еаг-ргосебигев можно отменить применением другой опции -юпо-1еаг-ргосе<Ыгев.

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

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

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

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