GCC - The Complete Reference (537669), страница 40
Текст из файла (страница 40)
В том числе возможно применение значения п равного 3, что включает автоматическое расширение подстановкой коРа. Назначает вывод ассемблерного кода. Показывает номер текущей версии ОСС и список всех команд, вырабатываемых драйвером дпс.
Применяет указанную версию компилятора дсс. Вырабатывает предупредительное сообщение по каждой неинициализированной переменной. -хазкескоку -з- -о(п1 -Ч чеке Спп -иппкпскспьскэа Таблица 9.9. Особые для языка Ада опции командной ст оки Указывает, что программу следует компилировать в соответствии со стандартом Аба 83.
В основном эта опция применяется для проверки переносимости программного кода на компиляторы страндарта Аоа 85. По умолчанию применяется -дппк95. Компилирует исходный код в соответствии со стандартом Ада 95. Применяется по умолчанию. -дппьвз -дпак95 Вводит в действие директивы ркадпм аввекк и рквяткэ реьпд. Без указания этой опции такие ргадгпа-установки в исходных файлах игнорируются, Все сообщения об ошибках будут выводиться на стандартное устройство вывода в сокращенной форме и включаться в развернутом виде в листинг. Компилятор будет выполнять подробные семантические проверки и не будет вырабатывать никаких выходных файлов, кроме содержащих возможные предупреждения и сообщения об ошибках.
Эта опция может быть использована для получения информации о процессе компиляции для отладки самого компилятора. Значение юс — одна буква или цифра либо их сочетание, определяет тип извлекаемой отладочной информации. Существует 65 допустимых символов (большие и малые латинские буквы и цифры от 1 до 91. Применяется редко. Описание для этой опции находится в комментариях исходного файла аеьид. пеь, файл входит в комплект исходников компилятора. Сообщения об ошибках не накапливаются до завершения обработки исходника, а вьщаются по ходу компиляции. При этом сообщения могут возникать непоследовательно, но они все-таки будут выведены в случае аварийного завершения компиляции.
-давка -дппкь -дпакс -давке В дополнение к общим опциям компиляции, перечисленным в таблице 9.2, и большому количеству других опций, приведенных в приложении Г таблица 9.3 содержит набор опций, которые применяются только для языка А!(а, Все зти специфические опции начинаются с последовательности из пяти букв "-диас". Глава 9. Компиляция программ на языке Аба 1 8 1 Включает режим проверки динамического доступа перед генерированием вызовов подпрограмм и выработки последовательных реализаций методов.
При применении этой опции выдаваемые компилятором сообщения об ошибках могут быть избыточными. Например, если обычно по необъявленной переменной сообщение выдается только один раз, то при этой опции сообщение об ошибке выскакивает каждый раэ, как встречается ссылка на зту переменную. Применяет стили, определенные подпрограммами в исходном файле вку1ев. адь (часть компилятора). Элементы стилей документированы в комментариях этого исходного файла.
Обычно эта опция используется для компиляции модулей самого компилятора Аг)а. ЗНаЧЕНИЕ сЬ вЂ” ОдНа ЛИтЕра, УКаЗЫВаЮщая раСПОЗНаВаЕМуЮ КОМПИЛятсрОМ кодировку буквенных знаков. Все символы указанного набора кодировки могут быть использованы в текстовых константах и именах идентификаторов. Возможны следующие значения сд: 1: Набор знаков 1аг!л-1.
Значения 0-127 используются для кодировки стандартного набора знаков АВСИ. Значения от 128 до 255 представляют дополнительные символы европейских алфавитов, такие как германские гласные с верхними точками и шведское долгое "А" 2: Набор знаков Ьабл-2. 3: Набор знаков 1абл-3.
4: Набор знаков ъаггл-4. Р: Набор знаков !ВМ РС кодовой страницы 437. Сходен с набором 1аг!л- 1, на отличается кодировкой значений 128-255. 8; Набор знаков !ВМ РС кодовой страницы 850, Это модификация набора кодовой страницы 437, она включает все символы набора 1абл-1, но их кодировка отличается. Р: Все коды символов от! 28 до 255 доступны и имеют собственное определенное значение. Это делает возможным применение пользовательских символьных наборов(обычно используется для представления китайских знаков). Н: Диапазон значений 128-255 не используется, этот формат совместим со стандартом Аг(а 83.
Значение сд — ОДНа ЛИтЕра, укаэываЮщая фарМат прИМЕняЕМыХ в лИтЕрнЫх константах и идентификаторах расширенных буквенных знаков. сЬ может иметь следующие значения: Н: Формат расширенных знаков не указывается. Это значение применяется по умолчанию. Н: Шестнадцатиричная кодировка. Каждый расширенный буквенный символ представлен последовательностью из пяти знаков АВС1!. Первая из них— Символ евс. Следующие четыре — шестнадцатиричные цифры в верхнем регистре, представляющие 15-битный код буквенного символа.
О Перекодировка "верхней" половины алфавита. Первый бит начального байта последовательности установлен в единицу. Таким образом, диапазон применяемых значений составляет от 0160воооэ до 01бэввввэ. Учтите, что при этом исключается использование верхнего регистра латинских букв знакового набора баоп-!. В: Сдвинутая кодировка(!5. Она похожа на перекодировку "верхней" половины алфавита. Отличие состоит в том, что представление расширенного символа состоит из двух последовательных знаков. Первый из них также имеет установленный верхний бит, поэтому доступный диапазон кодировки составляет от 0160000 до 0160ввб. Учтите, что при этом также исключается использование верхнего регистра набора 1аг)п-!.
182 Часть!1. Использование Сборного Компилятора Овяванвв -дпасап -дпас1 -дпасп -дпаси -дпвсо -дпаср -дпагд -дпаег -дпасв -дпасс Компилятор будет выводить на стандартное устройство вывода список всех модулей, прямо или косвенно задействованых в текущей компиляции. Ко всем сообщениям об ошибках применяется формат, предоставляющий дополнительную информацию. В применяемом по умолчанию формате содержатся поля имени файла, номеров строки и колонки и описание сообщения, например: Ь1оиогв.адЬгзг01г 1псоггеск вре111пд оЕ СЬе хеуиога "ргосеапге" С опцией -дпаст то же самое сообщение будет примерно таким: -дпагп -дпаст Е: Кодировка Ес)С.
Сходна с перекодировкой "верхней" половины алфавита за исключением того, что каждый расширенный буквенный символ записывается двумя последовательными знаками АЗСП, причем каждый иэ них имеет установленный верхний бит. Первое и последнее значения диапазона соответственно — «1вевое и «1бваве. использование букв набора символов Еабп-1 в верхнем регистре также исключается, Значение и — число в пределах от 1 до 999, назначает наибольшую допустимую длину имен обрабатываемых файлов, зто не влияет на суффиксы . адь и .
аде. Выводится весь исходный файл с номерами строк и всеми сообщениями об ошибках в указанном опцией -дпасч формате. Указывает предельное число выводимых компилятором сообщений об ошибках. Диапазон применимых для и значений — от 1 до 999. Например, -дпаспз разрешает вывод трех сообщений об ошибках, после чего дальнейшая компиляция отменяется. По умолчанию число сообщений не ограничено. Включает расширение подстановкой кода в пределах одного модуля и, при использовании ргагпса Еп11пе, между компилируемыми модулями. Эта опция действует только совместно с флагом оптимизации -о.
То же, что и -дпасп, но только ргадпа хп11пе автоматически применяется ко всем исходным файлам. Задействует проверку на переполнение арифметических операций при выполнении программы При этом вырабатывается более "тяжелый" и объемный код из-эа добавления к арифметическим операциям проверок условий переполнения и деления на ноль. Подавляет создание проверок, действующих во время выполнения программы, точно также, как при включении в исходный коддирективы ргадяп внргеее (в11 сьесхе) . повышает производительность за счет снижения защиты от неправильной обработки данных. Эта опция вынуждает компилятор продолжать работу независимо от присутствия в исходнике синтаксических ошибок.
Это может приводить к появлению большого количества дальнейших сообщений об ошибках, к аварийному завершению компиляции или генерации кода с непредсказуемым поведением. Опция проверяет построение исходного кода на соответствие соглашениям, перечисленным в официальном руководстве по программированию на языке Ада.
Нарушения таких соглашений считаются синтаксическими ошибками. Выполняет синтаксические проверки исходника и на этом останавливает компиляцию. Выходные файлы при этом не вырабатываются. При использовании этой опции допускается указание в команде нескольких исходных файлов (при этом необходимо также указывать флаг -с). Внутреннее дерево содержания будет записываться компилятором в отдельный файл.