GCC - The Complete Reference (537669), страница 127
Текст из файла (страница 127)
Учтите, что стандартные библиотеки написаны без соблюдения этих правил. Поэтому при этой опции вы можете увидеть множество сообщений, относящихся к коду библиотек. -ЧЧеггог Преобразовывает все предупреждения в сообщения об ошибках компиляции. -ЧЧеггог-1птр11с1Мипсбоп-дес!агаФ1оп С Выдает предупреждение при всяком использовании функции до ее объявления. См.также -тгзгар11с1с-кипсс1оп-йес1агасзоп. -ЧЧех1егп-1п11пе С++ Выдает предупреждение, если функция обьявлена одновременно как ехсегп и как зп1зпе.
-ЧЧехтгапеоы-лепт!со!оп 'зача Выдает предупреждения о лишних символах точки с запятой "; ", перед которыми нет оператора. Опция подавляет использование пустых операторов. 570 Часть ))/. Приложении -)))И! оа1-ециа! Выдается предупреждение при сравнении на равенство двух чисел с плавающей точкой, потому что такая ситуация скорее всего возникает из-за ошибки в программе.
Природа арифметических операций над числами с плавающей точкой такова, что равенство результатов вычислений встречается чрезвычайно редко и носит случайный характер. То есть точное сравнение таких чисел будет давать отрицательный результат даже тогда, когда числа отличаются настолько мало, что ло логике программы следует их считать равными. Далее вам предлагается пример способа сравнения чисел с плавающей точкой на равенство с точностью до 10 '. Ссивае Се1еа = О.ОООО1; 1й((ча1 > ча12-се1са) аа (ча1 < ча12+се1са) ( /* здесь ча11 и ча12 считаютси равными >/ ) -МИоппа1 с, с++, оь|с Проверяет вызовы таких функций как рг1псй () и всапй () и выдает предупреждение в случае, если типы аргументов не соответствуют формату их вывода. Например, в следующем примере показан оператор, в котором значение типа боиЬ1е предназначается к выводу в формате типа 1пеа СсиЬ1е Счазие = 44.44 ргйпй("'ГЬе ча).ие тн$1е Ьаа.хп", йча1ие)ю Формат вывода тестируется в соответствии со свойствами библиотеки О)>)[) 11Ьс версии 2.2.
Она включает в себя определения, соответствующие С89, С99, РОЫХ и некоторым расширениям О)ч[) для ВБЕ). При установленной опции -ребапс1с, предупреждения будут выдаваться при любых отступлениях от стандартных правил форматирования. Ьудут проверяться функции, поддерживающие форматирующие строки, а именно следующие: ргйпсй(), йргйпсй(), вргйпгй(), всапй[), йвсапй(), всгйсйме(), чргйпсй[), чйргйпсй() и чврг1псй().
Для стандарта С99 кроме приведенных еще функции впрг1псй (), чвпргйпсй (), чвсапй (), чйвсапй () и чввсапй(). Для систем Х/Орел также всгйв)оп(), ргйпсй ип1ос)сей() и йргйпсй ип1ос)сей(). См. опции -)гйогшас-ехсга-агдв, -ыйогмас-поп11сега1 и -)яйогзаасвесигйсу. См. также раздел "Атрибуты" в главе 4. Опция автоматически устанавливается при применении опции -)яа11. Ее действие можно отключить обратной опцией -Ипо-йогзаас.
-\ЛИогта12 с, с++, оь|с Действует так же, как и одновременное применение опций -)(йога)ас, -Мйохзваг-поп11Сега1 и -Мйогиаг-весиг1гу. Приложение Г. Опции командной строки компилятора ОСС 57 1 -Ч)Иоггпа1-ех1га-агу С, С++, ОЬ)С Действует по умолчанию. Во время действия опции -нгогкаас указание рассматриваемой опции в ее обратной форме -Мпо-когкаас-ехсга-агцв подавляет вывод предупредительных сообщений о неиспользуемых аргументах, которые передаваются функциям, подобным рг1псг ( ) и всапб ( ) . -ЧИоггпа1-поп!)1ега! С, С++, ОЬ)С При установленной опции -нбогмае эта опция выдает предупреждения в случаях, когда форматирующий аргумент таких функций как рг1пей () и всапб () не является строковой константой.
-МИоггпа1-ьесигйу С, С++, ОЬ)С При установленной опции -т)гогмае эта опция выдает предупреждения в случаях, когда обращение к таким функциям как рг1псг ( ) и всапй ( ) может быть небезопасным. Использование переменной в качестве форматирующего аргумента при вызове таких функций считается ненадежным из-за возможности использования '"ьп", -))(Иоггпа1-у2)( С, С++, ОЬ)С Действует по умолчанию. Указание -нпо- йогюаг-у2)с отключает выдачу предупреждений о ситуациях, когда аргумент формата функции веггс1ве ( ) допускает вывод календарного года в виде двух десятичных цифр.
-Фя)ОЬаЬ Действует по умолчанию. Указание обратной опции -нпо-ц1оьа1в отключает выдачу предупреждений о совпадении глобальных имен подпрограмм, функций, блоков данных, или блоков общего назначения (согппюп Ыоскл) с именами встроенных функций ()п(г(пз(сз). При этом также подавляются предупреждения о таких нарушениях правил вызова глобальных функций и подпрограмм, как неправильное количество или несоответствие типов аргументов. -Ф)гпр!)сй Рог1гап Вьщает предупреждения о явных (ппрйсй) объявлениях переменных, массивов или функций.
-)))г)гпр!)сй-! П1 С Выдает предупреждения для объявлений, в которых отсутствует прямое указание типа. Эта опция устанавливается автоматически при использовании опции -М1вр11с1Е или -На11. -)))/ипр))сИ-1цпсИоп-дес!ага6оп С Выдает предупреждения об использовании функций до их объявления. См. также -тгеггог-1вр11с1с-йипсс1оп-сес1агас1оп. Опция автоматически устанавливается при использовании -н1вр11с1с или -на11. 572 Часть Пб Приложения -)ЕЕЕЕп) р!Есй с То же, что н одновременное применение опций -Н1тр11схс-1пв и -«гхмр11ссс-гипсв1оп-оес1агасхоп. Эта опция устанавливается автоматически при использовании опции -на11.
-Ф!и) рог1 с, с++, оь)с Действует по умолчанию. Указание обратной опции -нпо-хврогс подавляет вывод препроцессором предупреждений об использовании директив йхвгрогс. -)!)ЕЕп















