«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Каковы оптимальные уровни предупреждений компилятора для компиляторов C/C++?

Каковы оптимальные уровни предупреждений компилятора для компиляторов C/C++?

Опубликовано 9 ноября 2024 г.
Просматривать:532

What are the Optimal Compiler Warning Levels for C/C   Compilers?

Оптимальные уровни предупреждений компилятора для компиляторов C/C

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

Рекомендуемые уровни для распространенных компиляторов:

  • gcc и g : '-Wall' обычно рекомендуется для выявления наиболее распространенных проблем, включая ошибки логического приоритета и потенциальное приведение типов. проблемы.
  • Sun CC: При необходимости рассмотрите '-v :>warnlevel=3' или '-werror'.
  • aCC (HPUX): '-Wall -fsyntax-error=ignore' может быть полезен, но '-Werror' следует использовать осторожно из-за потенциальной ложности предупреждения.
  • Visual Studio: «-Wall» — хорошая отправная точка, а «-W4» предоставляет полный набор проверок.
  • Intel: '-Wall' для основных предупреждений и '-Werror' для обработки всех предупреждений как ошибок (используйте с осторожность).

Флаги расширенного предупреждения для кода C:

В целях дополнительной предосторожности используйте флаги расширенного предупреждения, такие как:

-Wextra -Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wconversion -Wdisabled-optimization -Werror -Wfloat-equal
-Wformat -Wformat=2 -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch
-Wunsafe-loop-optimizations -Wlong-long -Wmissing-braces
-Wmissing-field-initializers -Wmissing-format-attribute
-Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wpadded
-Wparentheses -Wpointer-arith -Wredundant-decls -Wreturn-type
-Wsequence-point -Wshadow -Wsign-compare -Wstack-protector
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wswitch-enum -Wtrigraphs -Wuninitialized -Wunknown-pragmas
-Wunreachable-code -Wunused -Wunused-function -Wunused-label
-Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros
-Wvolatile-register-var -Wwrite-strings

можно использовать. Настройте эти параметры по мере необходимости в зависимости от конкретного проекта и используемых сторонних библиотек.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3