GCC - The Complete Reference (537669), страница 125
Текст из файла (страница 125)
Содержимое файлов соответствует суффиксам их имен (см. таблицу Г1), или установкам опций -х в строке команды компилятору. Опция может быть записана в форме --ваме-ветре. -дйаГЕд 1.1МЕГ При этой опции компоновщик создает объектный модуль формата, который может компоноваться из разделяемой библиотеки во время выполнения программы. Если команда дсс используется для создания разделяемой библиотеки, то применение этой опции также отменяет выдачу компоновщиком ошибки из-за отсутствия метода жа1п() . Для успешной компиляции объектных модулей, предназначенных для размещения в разделяемых библиотеках (зйагег) 1)Ьгапез), необходимо правильное использование соответствующей опции -крдс или -йрхС, а также специфичных опций предназначаемой платформы.
Опция -впакеб для правильной работы выходного кода может в частности требовать генерации специальных конструкторов. Выдаваемые изза неправильной установки флагов сообщения об ошибках компиляции разделяемых моцулей могут быть довольно сложными, в большинстве случаев их можно игнорировать без вреда для вырабатываемого кода. Опция может быть записана в форме --впакеб. См. также -вьакеб-11ьдсс, -всасдс-11ьдсс и -всас1с. 0П1СЕГ -9))аГЕд-ИЬ9СС Опция указывает компоновщику использовать разделяемую (зйагед) версию библиотеки 11Ьдсс.
На системах, не поддерживающих использование разделяемых библиотек, или при отсутствии скомпонованной разделяемой версии библиотеки 11Ьдсс эта опция не оказывает действия. При задействовании компоновщика через д++, доз или д77 этот флаг действует автоматически для выполнения требований обработки исключений. Разделяемая версия библиотеки 11Ьдсс необходима при обработке с помощью пользовательской разделяемой библиотеки исключений, порождаемых кодом другой разделяемой библиотеки. Функции разделяемой 11Ьдсс используются при этом как кодом, вызывающим исключение, так и обрабатывающим это исключение кодом. См.
также -вьахеб, -всас1с-11Ьдсс и -всасйс. 19 к гкиффитс 5б2 Часть |Ч. Приложения -9РЕСьм ГИЕПаЮЕ По этой опции драйвер дсс считывает файл спецификаций с именем яХХегнмве. В файле содержатся опции с их назначением, в соответствии с которым они передаются при компиляции подпроцессам. Файл спецификаций обрабатывается после считывания стандарных спецификаций, он может быть использован для замещения действующих по умолчанию правил задействования подпроцессов. Опция может быть записана в форме --ересе. -втаТ1С ЫМег Компоновщик будет игнорировать любые разделяемые библиотеки и разрешать все внешние ссылки непосредственным включением в вырабатываемый объектный код статических объектных файлов.
На системах, не поддерживающих динамической компоновки, установка этой опции не изменяет вырабатываемый выходной код. Опция может быть записана в форме --есас1с. См. также опцию -еЬагекг. -вам ПаЮЕ с Указывает применяемый стандарт языка программирования С. Распознаваемые значения поля аюяе перечислены в таблице Гб. Опция отключает ключевые слова расширения 61ч0 аегп, суреог и ха11ае. Альтернативные формы этих ключевых слов аеа, Суреоя и ха11ае остаются доступными. Опция может быть записана в форме -есст. См.
также -ааез. Таблица Г.б. Имена станда тов языка С для использования с опцией -зто Стандарт 180 С89. При этом также устанавливаются флаги -епо-кгаегкгопв1, -епо-иг1кввьзе-вкг1пдв, -епо-вва, -епо-попппв1-Ьп11г1п и -Епо-поп1во-авявп1г-еогвккг-вккггьпквв. 1эс9899:1990 1эо9899:199409 Усовершенствованная версия стандарта ВО С89. При этом также устанавливаются флаги -Епо-ггв61К1опп1, -Епо-иг1гевь1в-вгг1пдв, -Епо-вва, -Епо-попвпв1-Ьп11Г1п И -Епо-поп1во-аесвп1к-союавк-вккг1ьпквв. Стандарт 190 С99. При этом также устанавливаются флаги -Епо-ггвагг1опп1, -Епо-иг1гевьзв-вгггпдв, -Епо-вва, -Епо-попвпв1-Ьп11г1п и -Епо-поп1во-ееавч1к-еогввг-вккг1ьпгвв, 1эо9899:1999 то же, что и 1 оедо:1воо.
то же, что и 1воввдв ~зеве. с89 с99 Стандарт 180 С89 с расширениями ОМЦ и подключением некоторых определений стандарта 180 С99. При этом также устанавливаются флаги -епо-кгвегг1опв1, -епо-иг1гввь1в-вкг1пдв, -епо-вва, -Епо-попвпв1-Ьп11г1п и -Епо-поп1во-аеаап1г-сплав-вгкг1ьпквв. дпо89 - Ма -ИЬ9СС Назначает использование статической версии библиотеки 11Ьдсс. Применение этой опции может создать проблемы с обработкой исключений при компиляции программ на языках С++ и гага. См. также -еьагекг, -еьагест-11ьдсс и -есасхс. Приложение Г. Опции командной строки компилятора 6СС 5бЗ !.1п1сег -дуплах-Оп!у По этой опции компилятор проверяет синтаксис входного исходного кода, выводит все сообщения об ошибках и все предупреждения. После этого обработка останавливается, никаких дальнейших действий не производится.
— тагяе~ тасЫпе То же, что и опция -Ь. — тагяе1-!)е!р Выводит список всех опций командной строки, специфичных по отношению к предназначаемой целевой платформе. См. также --Ье1р. — вегасе-1пс1ис!ед То же, что и -н. -вегас!1Мопа! Рге Данная опция распознается компилятором, но дальнейшая ее поддержка прекращена, (дергесагед орбоп), Включает поддержку компилятором первичного стандарта "КАК С" (т.е. язык С Кернигана и Ритчи). Учтите, что программы на традиционном С не компилируются с заголовочными файлами стандарта ПБО С".
Эта опция также устанавливает опции -ста61с1опа1-срр и -хмтйсаЬ1е-всг1пдв. Другая формазаписи этой опции:--Ссабхкйопа1. См.также -ха1о?к-в*'пд1е-ргес1в1оп. -1гасЫопа1-срр С Включает поддержку препроцессором правил стандартного препроцессора языка С. Другая форма этой опции: --стактйсйопа1-срр. -1г!Ягар!тд Включает поддержку триграфов (гг1агарйз). Эта опция устанавливается автоматически при включении опций -апвй и -вскй. При этой опции девять последовательностей из трех буквенных знаков, начинающиеся с двух знаков вопроса "г г", транслируются в отдельные буквенные символы в соответствии со следующим списком: ??= е ?г( [ ?г« ??l х г?) 3 ?гь ) л гг~ ! г?- -5У(пЬО!!с Создает подшивки обращений к глобальным символам при сборке разделяемых объектов.
Этот подход является альтернативой компоновке с использованием опций -вьасеб и -всас1с. Этот способ поддерживается только несколькими платформами, такими как некоторые из систем ЯУВ4 и ПО,%Х. Опция может быть записана в форме --вужЬо11с. 564 Часть !Ч.
Приложения Другая форма записи этой опции: --ек1дгарив. -6гпе Выводит отчет о времени, занятым каждым подпроцессом компиляции программы. В каждой строке выводится пользовательское время (пзег йше, т.е. время занятое выполнением кода подпроцесса) и системное время (зузгегп ише т.е. время затраченное на системные вызовы). Следующий пример показывает вывод по опции -е1аа при компиляции программы на языке С++ в выполнимый объектный формат.
ясс -с1ав токсова.срр -о токсввс.о $ сс101св 0.14 0.05 $ ав 0.00 0.01 а со11всса 0.10 0.0З Другая форма этой опции: --севе. -и ггате Епйег Ыпкег -0тасго Удаляет ранее сделанное макроопределение с именем, указанным в поле васко. Все опции -р обрабатываются раньше опций -и, а опции -и в свою очередь обрабатываются раньше любых опций -1пс1пба и -1юасков. Другая форма этой опции --ппбвхепа-веско.
-ипде1 Рге При этой опции препроцессор не будет предопределять никаких нестандартных макросов. Опция подавляет такие архитектурные макроопределения как пп1х ОрепВЯР, гвсрв, 11ппх, згах и т.п, — ипдет(пе-гпасго тасго Тоже, что и -гг. — ые-)гегд) оп )геиюп То же, что и -тг. Рге Рге — ыег-дерепдепс! еа То же, что и -им. Рге Выводит номер текущей версии компилятора и список всех команд, запускаемых на каждой стадии преобразования исходного кода в готовую к выполнению програм- Добавляет указанное имя в таблицу программных символов (зушЬо! гаЫе) в качестве символа, предназначенного для разрешения компоновщиком при сборке объектного кода.
Компоновшик будет разрешать эту ссылку загрузкой объектного модуля, содержащего определение символа с таким именем. Другая форма этой опции --Гокса-11пх. Приложение Г. Опции командной строки компилятора ОСС 565 му При отдельном использовании этой опции будет выводиться только номер текущей версии компилятора. В сочетании с опцией --Ье1р выводится полный список команд. При компиляции программ на языке Рог/гал опция устанавливает также флаг -бчегв1оп. Другая форма этой опции --чегет оп.