首页  >  文章  >  后端开发  >  用于提高代码质量和检测潜在问题的 C/C 最佳编译器警告设置是什么?

用于提高代码质量和检测潜在问题的 C/C 最佳编译器警告设置是什么?

Susan Sarandon
Susan Sarandon原创
2024-11-04 02:06:02195浏览

What are the optimal compiler warning settings for C/C   to enhance code quality and detect potential issues?

C/C 的最佳编译器警告设置

选择适当的编译器警告级别可以通过识别潜在问题来提高代码质量。以下是各种编译器的推荐级别:

gcc 和 g :

  • '-Wall' 激活广泛的警告,包括逻辑优先规则和类型检查的警告.
  • “-Werror”将警告提升为错误,尽管它可能需要禁用用于记笔记的“#warning”宏。

Sun CC:

  • “-xarch=v9”启用更严格的警告级别,解决可移植性和效率问题。

aCC (HPUX):

  • '-A' 激活对缓冲区溢出、空指针取消引用和未定义行为的额外检查。

Visual Studio:

  • “4 级”(“/W4”)提供全面的警告,包括有关未初始化变量和未使用代码的信息。

英特尔:

  • '-Wall' 会引发类似于 gcc '-Wall' 的警告,以及对内存安全和可移植性的额外检查。

Extra-Paranoid C 标志:

对于高度关键的代码,可以使用一套全面的警告标志:

-g -O -Wall -Weffc++ -pedantic  \
-pedantic-errors -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

根据项目要求和第三方库兼容性定制这些设置。

以上是用于提高代码质量和检测潜在问题的 C/C 最佳编译器警告设置是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn