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

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

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

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

иогггап -1цп!х-!П1Г!Пяс~-прес ЕОГ1гап Значение паля вресв определяет статус встроенных функций (!пгг!лгйсз) (Лч(Х. Возможны следующие значения вресв: -Ъпс!егзсог!пя гонга П Действуе~ ло умолчанию. К именам с одним знаком подчеркивания " " (цлдегзсоге сйагас1ег) компилятор добавляет два подчеркивания, а к внешне определяемым именам без знака подчеркивания добавляет один такой знак. Два знака подчеркивания добавляются также и к внутренним именам, уже имеющим в конце имени знак подчеркивания, это делается для лредулреждения возможных коллизий с внешними именами.

Установка обратной опции -кпо-ипбеквсоктпд запрещает все преобразования имен прибавлением к ним знаков подчеркивания. Если же применить -к по- весопб-ипбехвсоке, то эта установка отменит только добавление к именам второго знака подчеркивания. Отменять преобразование компилятором имен не рекомендуется.

Это можно делать только если в исходный код уже внесены особые поправки, обеслечиваюшие его совместимость с выходным кодом других компиляторов. Среди прочих проблем лри отмене добавления подчеркиваний следует особо указать на возможность конфликтов имен с системными библиотеками. 540 Часть !Ч. Приложения ° епаЬ1е — Встроенные функции ())Ч!Х распознаются и их использование возможно, Это значение действует ло умолчанию. ° Ьйбе — Встроенные функции ()МХ распознаются, но для их использования при первом вызове такой функции следует применить оператор тытвхьгвхсв. ° ййваЬ1е — Встроенные функции ()МХ распознаются, но их использование допускается только когда перед именем каждой из них стоит оператор 1ЬГТВХНЯ1СЯ.

° бе1еее — Встроенные функции ()!Ч1Х не распознаются. -ЬогоИ-аИ-! оорз Эта опция устанавливает флаг -йцпго11-1оорв и снимает ограничение на величину кода цикла и количество его итераций. При этом будут разворачиваться даже такие циклы, количество итераций которых во время компиляции не может быть определено.

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

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

Показатель простоты цикла (т.е. возможность его разворачивания) определяется как произведение числа итераций цикла на количество инструкций тела цикла (имеются в виду инструкции промежуточного кода на языке КТь — )пзпз). Цикл может быть развернут, только если этот показатель меньше заданной величины. В описываемой версии компилятора этот показатель определяется константой, которая по умолчанию имеет значение 100. Эта опция всегда устанавливает опции -йвегепдеь-гейтса и -бгегцл-све-агсег-1оор. -1опза1е-азам!)-орбтяа11опя Убирает код проверок операций с плавающей точкой, при установке этой опции считается, что во всех случаях используются только допустимые значения.

При зтои возникает возможность нарушения стандартов 1ЕЕЕ н А1ЧБ1 для точности операций с плавающей точкой. Эта опция позволяет компоновщику вставлять код обеспечения нестандартной оптимизации работы аппаратного блока ГР() (ГР() — Р!оа!1ля Ро!и! \)и!й устройство для выполнения математических операций с плавающей точкой).

Приложение Г. Опции командной строки компилятора ОСС 541 -$ип5!дпес(-ЬИЙе!с)5 С При указании этой опции битовые поля (Ь)!бе!аз) считаются относяшимися к данным целочисленных типов без знака ппвсдпеб 1пс. Ло умолчанию битовые поля относятся к типу ввдпеб 1пс. При применении опции -сгаохс1опа1 все битовые поля в любом случае будут беззнаковыми. Обратная опция -гпо-ппвсдпеб-ь1сгйе1пв равносильна опции - г ведая б-Ьяс г х е16в 4цп5)дпес)-сЬаг С При этой опции тип данных сЬаг по умолчанию считается типом без знака цпв1дпеб сЬаг (с диапазоном значений от О до 255). В отсутствие явного указания этого флага применение по умолчанию знакового или беззнакового типа сЬаг зависит от платформы.

Обратная опция -Спо-ипведпео-сЬаг равносильна опции -гв1дпео-сЬаг. -1ипчч)пб-хаЫе5 Действие этой опции сходно с действием опции -гехсерссопв. Единственное отличие состоит в том, что при указании - сппмспа-ваь1ев генерируются необходимые для обработки исключений статические данные. См.также -кехсерс1опв, -Гпоп-са11-ехсерсвопв и -гавупсЬгопопв-ппмвпб-еаЬ1ев. -$() 5е-сха-а1ехН С++ Опция приводит к применению порядка запуска глобальных деструкторов, обратного порядку выполнения соответствуюших им конструкторов, вместо действуюшего по умолчанию порядка, обратно~о запуску конструкторов.

Последовательность запуска будет изменяться только в случае использования вложенных вызовов конструкторов, когда один конструктор вызывает другой. Опция будет действовать только при наличии в разделяемой библиотеке стандартных функций языка С (С пзп(!ше!!Ьгагу) функции сха ехас () . Без опции -гпве-сха-асех1с компилятор вместо сха еххс ( ) использует функцию асехйс ( ) . 4ояе-йчЫе-5нЬго1! пе 3ача Для выполнения деления целых чисел булет использоваться вызов подпрограммы библиотеки. Это делает возможной обработку исключения в ситуации целочисленного деления на ноль. -~чегЬоэе-аэгп Вставляет более подробные чем обычно комментарии в выходной код на ассемблере.

Это делает выходной листинг более читаемым. Основное применение этой опции планировалось для отладки самого компилятора. Именно для облегчения чтения выходного ассемблерного кода. По умолчанию действует обратная опция -гпо-тгегЬове-авяк Ее применение дает более удобный кодлля сравнения выходных листингов. 542 Часть (Ч. Приложения -Ччег91оп Еог1гап Выполняет запуск внутренних проверок правильности установки в составе ССС компилятора б)ч() Гогтгап и показывает информацию о его версии.

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

См.также -хзго1аС11е-д1оЬа1 и -Сзго1ае11е. -$ч~аЫе-Яс Вырабатывает информацию о перемещении символов (ге1оса1юп 1пгоппагюп), которая позволяет компоновщику устранять из таблицы т(аЫе записи для неиспользуемых виртуальных функций. Эта опция требует обязательного применения и компоновщика и ассемблера О)ч(). Вырабатываемая по этой опции информация используется также для удаления определений не используемых функций. См. описания опции -ххипсс1сп-весссссв и -Н1. С++ Гогтгап Некоторые конструкции исходного кода отличаются между диалектами б)ч(3 Гопгап и УХТ Гопгап.

Использование этой опции для интерпретации таких конструкций применяет правила диалекта УХТ Гогггап. См.также опции -хх90, -хзгхс-спсхспвссв- и -сс90-1псхспвссв-. -1чхт-Ыг1п91с9-йрес Значение поля вресв определяет статус встроенных функций ((пгппз!сз) диалекта УХТ Гогггап. Возможны следующие значения вресв: ° епаЬ1е — Встроенные функции диалекта УХТ распознаются и их использование возможно. Это значение действует по умолчанию. Гогтгап -гчо1а1!1е-9!о!за! Для всех расположений памяти, алресуемым как локально так и глобально, применяет свойства вариантного типа языка С (объявляемого с квалификатором тго1ас11е), это не распространяется на статические (згаг)с) элементы, то есть доступные лля обращения к ннм только в пределах своего модуля компиляции. См. также -хзгс1ас11е и -х1гс1ас11е-всассс.

Приложение Г. Опции командной строки компилятора ОСС 543 ° пЫе — Встроенные функции УХТ распознаются, иодля их использования при первом вызове такой функции следует применить оператор хьгтпгыпхся. ° беваЫе — Встроенные функции УХТ распознаются, но их использование допускается только если перед именем каждой из них стоит оператор п~тптыягся. ° бе1еее — Встроенные функции 7ХТ не распознаются. См. также опцию - йкгкс. 4аеаЕ С++ Действует по умолчанию.

Обратная опция -йпо-маак отменяет полдержку замещения программных символов даже в случае их поддержки компоновщиком. Не следует без особой потребности применять -спо-меак, потому что при этом вырабатывается код низкого качества, пригодный разве только лля тестирования компилятора. -гвцгйаЫе-зсгцз9я С, С++ При использовании этой опции компилятор допускает запись данных в строковые константы. Флаг устанавливается автоматически при установке опции -Скабфееопа1. Для получения действительной возможности записи в строковые константы при компиляции программ на языке С-ь+ необходимо также указывать опцию -йпо-сопле-всхепдв. Еогйгап -Ьегоез При этой установке компилятор воспринимает нулевые значения так же, как и любые другие.

Без этой опции существует возможность того, что компилятор не определит установки многими операторами рдтт нулевых начальных значений переменных. -ф/еигеЦ В выход компилятора включается отладочная информация в формате, распознаваемом отладчиком дсЬ.

Точный формат этой информации зависит от формата вырабатываемого компилятором объектного кода (зГабз, СОГГ; ХСОГГ, 0%АКГ или О%АКГ2). Параметр уровня отладочной информации 1еие1 является необязательным. Числовое значение этого параметра от 1 до 3 указывает количество включаемой в выход отладочной информации. Ло умолчанию он имеет значение 2. Уровень, равный 1, вырабатывает только глобальную отладочную информацию, необходимую для выполнения отладчиком обратной трассировки кода. Прн уровне 2 кроме информации первого уровня включается также информация о локальных переменных и номера строк исходного кода. На третьем уровне кроме информации второго уровня в выход включается дополнительная отладочная информация, такая как использованные при компиляции макроопределения.

544 Часть йт'. Приложения На системах, использующих формат объектного кода ааЬз, компилятор по этой опции вырабатывает такую отладочную информацию, которая может быть использована только отладчиком О1ч 0 дбЬ. Допускается совместное применение этой опции с опцией -о, которая производит оптимизированный выходной код.

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

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

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

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