# this is helpful for editors like VS Code |
# helpful compiler flags for gcc/clang |
解释:
-Wall
:打开几乎所有的警告信息,除了一些非常具体或不常见的问题。
-Wextra
:打开额外的警告信息,比 -Wall
更加严格。
-Werror
:将所有警告视为错误。
-pedantic-errors
:将所有语言不兼容的警告视为错误。
-Wconversion
:警告隐式转换可能导致精度损失的情况。
-Wsign-conversion
:警告隐式转换可能导致符号改变的情况。
-Wdouble-promotion
:警告隐式将 float 转换为 double 的情况。
-Wcast-align
:警告指针转换可能导致对齐问题的情况。
-Wformat=2
:启用更严格的格式字符串检查。
-Wuninitialized
:警告使用未初始化的变量。
-Wnull-dereference
:警告解引用空指针的情况。
-Wnon-virtual-dtor
:警告非虚析构函数的使用,这可能在多态类中导致问题。
-Woverloaded-virtual
:警告重载的虚函数可能导致意外行为。
-Wdeprecated-copy-dtor
:警告使用已弃用的复制构造函数或析构函数。
-Wold-style-cast
:警告使用旧式 C 风格的类型转换。
-Wzero-as-null-pointer-constant
:警告使用字面量 0 作为空指针常量。
-Wsuggest-override
:在适当的地方建议使用 override
来明确虚函数的重写。
-fstack-protector-strong
:启用强栈保护,以防止栈溢出攻击。
这三种方式都可以对当前项目添加引用路径。