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

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

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

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

-пэйсюе-епйап По этой опции компилятор генерирует код для архитектуры, работающей с прямым порядком представления байтов. Эта опция используется для систем А(Х5 и Ыпцх по умолчанию. Также см. опцию -вЬ1д-епМап. -тппо-р1с Генерирует код, который для адресации не использует регистр глобального укавтеля (81оЬа! рошгег ге8!зтег). В результате этого вырабатывается код, который является зависимым от положения загрузки и не соответствует требованиям машинного интерфейса прикладных программ (АВ1) для архитектуры 1А-64. -тпге9!йег-патпе8 Генерирует имена 1п, 1оо и опс для стековых регистров.

Это позволяет сделать ассемблерный код более читаемым. Действие опции можно обратить применением опции -впо-гедьвеег-павев, -ыс(а~а Разрешает выполнение оптимизаций, которые используют раздел данных малой длины. Эта опция применяется по умолчанию. Ее действие можно отменить опцией -впо-вйаса. Опция -ввттаеа может быть удобной для обхода возможных ошибок оптимизатора. -пттго!аМ! е-а8(п-йор Генерирует стоповый бит непосредственно перед и сразу после изменяемых (то!агйе) операторов ассемблера. Действие этой опции можно отменить применением опции -впо-зго1ас11е-авв-асор.

Опции для платформ! псе! 386 и АМО х86-64 Ниже перечислены опции, определенные для семейства компьютеров т386 и х86-64. -пт128Ь(Мопя-с)он Ые Устанавливает размер данных типа 1опд ктоиЬ1е равным 128 бит (16 байт). Машинный интерфейс прикладных программ (егпьегыег( Арр1тсатюпз Втагу 1птег(асе, ЕАВ!) для архитектур !386 устанавливает размер данных типа 1опд боиЬ1е равным 12 байт, в то время как для новых архитектур (Реп!!шп и выше) данные типа 1опд доиЬ1е выравниваются по границе 8 или 16 байт. Очевидно, что соблюдение такою выравнивания невозможно при осуществлении доступа к 12-байтным данным, которые находятся в массиве.

400 Часть тп. Внутренняя структура н окружение Применение опции -в128Ь1е-1оид-доиь1е изменяет размер структур и массивов, содержащих данные типа 1оид туоиЬ1е. Кроме того, будет изменено соглашение о вызове функций для тех функций, которые используют тип 1оид йоиь1е. Также см. опцию -в96Ь1с-1опд-боир1е.

Для процессоров АМР х86-64 в 64-битной среде окружения эта опция устанавливает длину данных типа 1пе, 1опд и укаэателей равной 32 битам и генерирует код, совместимый с любой платформой )386. -(у!386 Идентична опции -вери=1386. Эта форма опции считается устаревшей, она может не поддерживаться следующими версиями компилятора. Разрешает использование встроенных функций, позволяющих осуществлять прямой доступ к расширениям ЗРпочк Действие этой опции можно отключить применением опции -япо-Зетпоьт. -гп486 Идентична опции -вери=1486. Этот йюрмат опции считается устаревшим. -!!364 Для процессоров АМР х86-64 в 64-битной среде эта опция устанавливает длину данных типа 1ис равной 32 битам, а даниых типа 1оид и указателей — 64 битам.

По этой опции вырабатывается код специально для процессора АМР х86-64. -тут96Ы-!ооя-с!оиЫе Указывает, что длина данных типа 1оид туоиь1е должна составлять 96 бит (! 2 байт), как того требует машинный интерфейс прикладных программ (ЕгпьетЫа! Аррйсатюпз В(лагу )птегГасе, ЕАВ!) процессоров семейства (386. Опция -в96Ь1е-1оид-боиь1е применятся по умолчанию. Также см, опцию -в128ь1е-1оид-туоиь1е. -озассцгои! ВСе-оо19о(п9-аг96 Указывает, что максимальный объем, занимаемый выходными аргументами, будет вычисляться в прологе функции.

Такая схема работает быстрее на современных процессорах благодаря меньшей зависимости, улучшенному планированию и менее интенсивному использованию стека в случае, когда предпочтительное выравнивание границы стека не равно 2. Недостатком схемы является увеличение объема кода. Опция -вассиви1аее-оиедо1ид-ахде автоматически устанавливает опцию -вво-риеь-ахде. Глава 21. Машинно-зависимые опции компилятора 401 -та! !9п-с!ооЫе Указывает компилятору, что переменные типов боиЬ1е, 1опд боиЬ1е и 1опд 1опд должны иметь выравнивание к границе двух машинных слов.

А вот опция -апо-а11дп-боиЬ1е применяет выравнивание переменных к границе одного машинного слова. Выравнивание переменных типа боиЬ1е к границе двух машинных слов позволяет за счет увеличения размера программы получить код, выполняемый на процессорах Реп!)игп несколько быстрее. Опция -вта11дп-йоиЬ1е приводит к тому, что структуры с данными типов боиЬ1е, 1опд боиЬ1е и 1опд 1опд выравниваются иначе, чем это предусмотрено машинным интерфейсом прикладных программ (ЕшЬетЫед Аррйсайопв В)лагу )втегуасе, ЕАВ!) процессоров семейства )386. -тагсЬ=агсЬИес~иге Генерирует инструкции для указанной архитектуры.

Допустимые значения для параметра агсь1еесеиге идентичны значениям, используемым дня параметра суре опции -вюрц. Установка опции -квагсЬ аналогична применению опции -глори с указанием соответствующего типа процессора. -табт=е!а!ест Генерирует инструкции ассемблера, используя указанный диалект. Параметр 61а1есс может принимать следующие знаЧениЯ: 1пве1 и агв. По умолчанию используется значение аее.

-тсрц=Фуре Настраивает все параметры генерируемого кода, кроме машинного интерфейса прикладных программ (ЕАВ!), на полное соответствие указанному типу процессора и выбирает соответствующий набор инструкций. Параметр суре может принимать следующие значения: 1386, 1486, 1586, 1686, репе1шв, репе1шв-лапе, репв1итврго, репв1шв2, репг1итвз, репг1шв4, хб, !кб-2, !кб-з, аЕЬ1оп, аЕЬ1оп-ГЬ1гб,аГЬ1оп-б,аЕЬ1оп-хр иагЬ1оп-твр. Тип 1586 является синонимом типа репе1шв, а тип 1686 — типа репе1шврго.

Типы Хб и аеЬ1оп соответствуют процессорам АМ!). Выбор типа процессора позволяет применять особенности планирования, соответствующие указанному процессору. Тем не менее, компилятор будет генерировать код, совместимый со всеми процессорами семейства )386, если не указана опция -аагсЬ.

-тЧрта2Ь=ииИ Генерирует инструкции для выполнения операций над числами с плавающей точкой для указанного типа аппаратного математического обеспечения. Задание в качестве параметра ип1Е значения 387 приведет к тому что для выполнения операций с плавающей точкой будет использоваться стандартный математический сопроцессор 387, интегрированный с большинством чипов или эмули- 402 Часть ГЙ Внутренняя структура н окружение руемый. Код, откомпилированный с этой опцией, будет выполняться практически на всех процессорах семейства, Промежуточные временные результаты вычисляются с точностью до 80 бит.

Также см. опцию -йй1оас-всоге, описанную в приложении Е Эта опция для архитектуры 1386 аримеииетси по умолчанию. Задание значеиня вяе в качестве значения параметра цпдс приведе~ к использованию скалярных инструкций для операций над числами с плавающей точкой. Такие инструкции имеются в наборе инструкций 88Е (Бггеаш)пй 81М)3 Ехгепз)оп). Набор 88Е поддерживается процессорамн Репйшп 3 и более новыми чипами, а также процессорами АМР АЙ1оп-4, АЙ!оп-хр и Ай!оп-тр.

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

Тем не менее, использование набора инструкций 88Е может негативно сказаться на выполнении уже существующего ранее скомпилированного кода, который предполагает, что длина временных значений составляет 80 бит. При указании в качестве параметра ипу Е значения вве, ЗВ7 комПиЛятср будет пытаться одновременно использовать два набора инструкций. Фактически это эквивалентно увеличению количества используемых регистров чипа в два раза, пря этом инструкции набора 387 и ЯКЕ выполняются на различном аппаратном обеспечении. В настоящее время опция -вккгяваеЬ считается экспериментальной, поскольку выделяющий регистры процесс компилятора ОСС не всегда может достаточно точно моделировать отдельные функциональные узлы. -1п!еее-1р Указывает, что компилятор должен использовать соответствующие стандартам 1ЕЕЕ операции сравнения чисел с плавающей точкой.

Это позволяет корректно обрабатывать случаи, когда операции сравнения дают неупорядоченный результат. Использование операций сравнения чисел с плавающей точкой в соответствии со стандартами 1ЕЕЕ можно отключить опцией -впо-1еее-йр. -пз!и!!пе-а!)-51п!пяор5 При установке этой опции для всех операций со строками будет применяться подстановка кода ()п! 1пе).

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

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

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

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

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