• 编译器警告信息(持续添加)


    1 

    2    --all-warnings              此开关缺少可用文档  

    3    --extra-warnings            此开关缺少可用文档  

    4    -W                          不建议使用此开关;请改用 -Wextra  

    5    -Wabi                       当结果与 ABI  

    6                                相容的编译器的编译结果不同时给出警告  

    7    -Waddress                   使用可疑的内存地址时给出警告  

    8    -Waggregate-return          当返回结构、联合或数组时给出警告  

    9    -Waliasing                  为可能的虚参重叠给出警告  

    10        -Walign-commons              COMMON 块对齐的警告  

    11        -Wall                       启用大部分警告信息  

    12        -Wampersand                 若延续字符常量中缺少 & 则给出警告  

    13        -Warray-bounds              当数组访问越界时给出警告  

    14        -Warray-temporaries         创建临时数组时给出警告  

    15        -Wassign-intercept           Objective-C  

    16                                    赋值可能为垃圾回收所介入时给出警告  

    17        -Wattributes                当对属性的使用不合适时给出警告  

    18        -Wbad-function-cast         当把函数转换为不兼容类型时给出警告  

    19        -Wbuiltin-macro-redefined   当内建预处理宏未定义或重定义时给出警告  

    20        -Wc++-compat                当在 C 语言中使用了 C  C++  

    21                                    交集以外的构造时给出警告  

    22        -Wc++0x-compat               C++ 构造的意义在 ISO C++ 1998  ISO  

    23                                    C++ 200x 中不同时给出警告  

    24        -Wcast-align                当转换指针类型导致对齐边界增长时给出警告  

    25        -Wcast-qual                 当类型转换丢失限定信息时给出警告  

    26        -Wchar-subscripts           当下标类型为“char”时给出警告  

    27        -Wcharacter-truncation      对被截断的字符表达式给出警告  

    28        -Wclobbered                 对能为"longjmp""vfork"所篡改的变量给出警告  

    29        -Wcomment                   对可能嵌套的注释和长度超过一个物理行长的  

    30                                    C++ 注释给出警告  

    31        -Wcomments                  -Wcomment 的同义词  

    32        -Wconversion                当隐式类型转换可能改变值时给出警告  

    33        -Wconversion-extra          对大多数隐式类型转换给出警告  

    34        -Wconversion-null            NULL 转换为非指针类型时给出警告  

    35        -Wcoverage-mismatch         Warn in case profiles in -fprofile-use do not  

    36                                    match  

    37        -Wcpp                       Warn when a #warning directive is encountered  

    38        -Wctor-dtor-privacy         当所有构造函数和析构函数都是私有时给出警告  

    39        -Wdeclaration-after-statement 当声明出现在语句后时给出警告  

    40        -Wdeprecated                使用不建议的编译器特性、类、方法或字段时给出警告  

    41        -Wdeprecated-declarations    __attribute__((deprecated)) 声明给出警告  

    42        -Wdisabled-optimization     当某趟优化被禁用时给出警告  

    43        -Wdiv-by-zero               对编译时发现的零除给出警告  

    44        -Wdouble-promotion          对从“float”“double”的隐式转换给出警告  

    45        -Weffc++                    对不遵循《Effetive  

    46                                    C++》的风格给出警告  

    47        -Wempty-body                 if  else 语句体为空时给出警告  

    48        -Wendif-labels               #elif  #endif  

    49                                    后面跟有其他标识符时给出警告  

    50        -Wenum-compare              对不同枚举类型之间的比较给出警告  

    51        -Werror-implicit-function-declaration 不建议使用此开关;请改用  

    52                                    -Werror=implicit-function-declaration  

    53        -Wextra                     打印额外(可能您并不想要)的警告信息  

    54        -Wfloat-equal               当比较浮点数是否相等时给出警告  

    55        -Wformat                     printf/scanf/strftime/strfmon  

    56                                    中的格式字符串异常给出警告  

    57        -Wformat-contains-nul       当格式字符串包含 NUL 字节时给出警告  

    58        -Wformat-extra-args         当传递给格式字符串的参数太多时给出警告  

    59        -Wformat-nonliteral         当格式字符串不是字面值时给出警告  

    60        -Wformat-security           当使用格式字符串的函数可能导致安全问题时给出警告  

    61        -Wformat-y2k                 strftime 格式给出 2  

    62                                    位记年时给出警告  

    63        -Wformat-zero-length        对长度为 0 的格式字符串给出警告  

    64        -Wformat=                   此开关缺少可用文档  

    65        -Wignored-qualifiers        当类型限定符被忽略时给出警告。  

    66        -Wimplicit                  对隐式函数声明给出警告  

    67        -Wimplicit-function-declaration 对隐式函数声明给出警告  

    68        -Wimplicit-int              当声明未指定类型时给出警告  

    69        -Wimplicit-interface        对带有隐式接口的调用给出警告  

    70        -Wimplicit-procedure        对没有隐式声明的过程调用给出警告  

    71        -Winit-self                 对初始化为自身的变量给出警告。  

    72        -Winline                    当内联函数无法被内联时给出警告  

    73        -Wint-to-pointer-cast       当将一个大小不同的整数转换为指针时给出警告  

    74        -Wintrinsic-shadow          如果用户过程有与内建过程相同的名字则警告  

    75        -Wintrinsics-std            当内建函数不是所选标准的一部分时给出警告  

    76        -Winvalid-offsetof          “offsetof”宏无效的使用给出警告  

    77        -Winvalid-pch               在找到了 PCH  

    78                                    文件但未使用的情况给出警告  

    79        -Wjump-misses-init          当跳转略过变量初始化时给出警告  

    80        -Wlarger-than-              此开关缺少可用文档  

    81        -Wlarger-than=<N>           当目标文件大于 N 字节时给出警告  

    82        -Wline-truncation           对被截断的源文件行给出警告  

    83        -Wlogical-op                当逻辑操作结果似乎总为真或假时给出警告  

    84        -Wlong-long                 当使用 -pedantic 时不对“long  

    85                                    long”给出警告  

    86        -Wmain                      对可疑的“main”声明给出警告  

    87        -Wmissing-braces            若初始值设定项中可能缺少花括号则给出警告  

    88        -Wmissing-declarations      当全局函数没有前向声明时给出警告  

    89        -Wmissing-field-initializers 若结构初始值设定项中缺少字段则给出警告  

    90        -Wmissing-format-attribute  当函数可能是 format  

    91                                    属性的备选时给出警告  

    92        -Wmissing-include-dirs      当用户给定的包含目录不存在时给出警告  

    93        -Wmissing-noreturn          当函数可能是 __attribute__((noreturn))  

    94                                    的备选时给出警告  

    95        -Wmissing-parameter-type    K&R  

    96                                    风格函数参数声明中未指定类型限定符时给出警告  

    97        -Wmissing-prototypes        全局函数没有原型时给出警告  

    98        -Wmudflap                   当构造未被 -fmudflap 处理时给出警告  

    99        -Wmultichar                 使用多字节字符集的字符常量时给出警告  

    100       -Wnested-externs            “extern”声明不在文件作用域时给出警告  

    101       -Wnoexcept                  Warn when a noexcept expression evaluates to  

    102                                   false even though the expression can't actually  

    103                                   throw  

    104       -Wnon-template-friend       在模板内声明未模板化的友元函数时给出警告  

    105       -Wnon-virtual-dtor          当析构函数不是虚函数时给出警告  

    106       -Wnonnull                   当将 NULL 传递给需要非 NULL  

    107                                   的参数的函数时给出警告  

    108       -Wnormalized=<id|nfc|nfkc>  对未归一化的 Unicode 字符串给出警告  

    109       -Wold-style-cast            程序使用 C  

    110                                   风格的类型转换时给出警告  

    111       -Wold-style-declaration     对声明中的过时用法给出警告  

    112       -Wold-style-definition      使用旧式形参定义时给出警告  

    113       -Woverflow                  算术表示式溢出时给出警告  

    114       -Woverlength-strings        当字符串长度超过标准规定的可移植的最大长度时给出警告  

    115       -Woverloaded-virtual        重载虚函数名时给出警告  

    116       -Woverride-init             覆盖无副作用的初始值设定时给出警告  

    117       -Wpacked                     packed  

    118                                   属性对结构布局不起作用时给出警告  

    119       -Wpacked-bitfield-compat    当紧实位段的偏移量因 GCC 4.4  

    120                                   而改变时给出警告  

    121       -Wpadded                    当需要填补才能对齐结构成员时给出警告  

    122       -Wparentheses               可能缺少括号的情况下给出警告  

    123       -Wpmf-conversions           当改变成员函数指针的类型时给出警告  

    124       -Wpointer-arith             当在算术表达式中使用函数指针时给出警告  

    125       -Wpointer-sign              赋值时如指针符号不一致则给出警告  

    126       -Wpointer-to-int-cast       将一个指针转换为大小不同的整数时给出警告  

    127       -Wpragmas                   对错误使用的 pragma 加以警告  

    128       -Wproperty-assign-default   Warn if a property for an Objective-C object has  

    129                                   no assign semantics specified  

    130       -Wprotocol                  当继承来的方法未被实现时给出警告  

    131       -Wreal-q-constant           Warn about real-literal-constants with 'q'  

    132                                   exponent-letter  

    133       -Wredundant-decls           对同一个对象多次声明时给出警告  

    134       -Wreorder                   编译器将代码重新排序时给出警告  

    135       -Wreturn-type                C  

    136                                   函数的返回值默认为“int”,或者 C++  

    137                                   函数的返回类型不一致时给出警告  

    138       -Wselector                  当选择子有多个方法时给出警告  

    139       -Wsequence-point            当可能违反定序点规则时给出警告  

    140       -Wshadow                    当一个局部变量掩盖了另一个局部变量时给出警告  

    141       -Wsign-compare              在有符号和无符号数间进行比较时给出警告  

    142       -Wsign-promo                当重载将无符号数提升为有符号数时给出警告  

    143       -Wstack-protector           当因为某种原因堆栈保护失效时给出警告  

    144       -Wstrict-aliasing           当代码可能破坏强重叠规则时给出警告  

    145       -Wstrict-aliasing=          当代码可能破坏强重叠规则时给出警告  

    146       -Wstrict-null-sentinel      将未作转换的 NULL  

    147                                   用作哨兵时给出警告  

    148       -Wstrict-overflow           禁用假定有符号数溢出行为未被定义的优化  

    149       -Wstrict-overflow=          禁用假定有符号数溢出行为未被定义的优化  

    150       -Wstrict-prototypes         使用了非原型的函数声明时给出警告  

    151       -Wstrict-selector-match     当备选方法的类型签字不完全匹配时给出警告  

    152       -Wsuggest-attribute=const   Warn about functions which might be candidates  

    153                                   for __attribute__((const))  

    154       -Wsuggest-attribute=noreturn 当函数可能是 __attribute__((noreturn))  

    155                                   的备选时给出警告  

    156       -Wsuggest-attribute=pure    Warn about functions which might be candidates  

    157                                   for __attribute__((pure))  

    158       -Wsurprising                可疑的构造给出警告  

    159       -Wswitch                    当使用枚举类型作为开关变量,没有提供  

    160                                   default 分支,但又缺少某个 case  

    161                                   时给出警告  

    162       -Wswitch-default            当使用枚举类型作为开关变量,但没有提供“default”分支时给出警告  

    163       -Wswitch-enum               当使用枚举类型作为开关变量但又缺少某个  

    164                                   case 时给出警告  

    165       -Wsync-nand                  __sync_fetch_and_nand   

    166                                   __sync_nand_and_fetch  

    167                                   内建函数被使用时给出警告  

    168       -Wsynth                     不建议使用。此开关不起作用。  

    169       -Wsystem-headers            不抑制系统头文件中的警告  

    170       -Wtabs                      允许使用不符合规范的制表符  

    171       -Wtraditional               使用了传统 C  

    172                                   不支持的特性时给出警告  

    173       -Wtraditional-conversion    原型导致的类型转换与无原型时的类型转换不同时给出警告  

    174       -Wtrampolines               Warn whenever a trampoline is generated  

    175       -Wtrigraphs                 当三字母序列可能影响程序意义时给出警告  

    176       -Wtype-limits               当由于数据类型范围限制比较结果永远为真或假时给出警告  

    177       -Wundeclared-selector       当使用 @selector()  

    178                                   却不作事先声明时给出警告  

    179       -Wundef                      #if  

    180                                   指令中用到未定义的宏时给出警告  

    181       -Wunderflow                 数字常量表达式下溢时警告  

    182       -Wuninitialized             自动变量未初始化时警告  

    183       -Wunknown-pragmas           对无法识别的 pragma 加以警告  

    184       -Wunsafe-loop-optimizations 当循环因为不平凡的假定而不能被优化时给出警告  

    185       -Wunsuffixed-float-constants 对不带后缀的浮点常量给出警告  

    186       -Wunused                    启用所有关于“XX未使用的警告  

    187       -Wunused-but-set-parameter  Warn when a function parameter is only set,  

    188                                   otherwise unused  

    189       -Wunused-but-set-variable   Warn when a variable is only set, otherwise unused  

    190       -Wunused-dummy-argument     对未使用的哑元给出警告。  

    191       -Wunused-function           有未使用的函数时警告  

    192       -Wunused-label              有未使用的标号时警告  

    193       -Wunused-macros             当定义在主文件中的宏未被使用时给出警告  

    194       -Wunused-parameter          发现未使用的函数指针时给出警告  

    195       -Wunused-result             当一个带有 warn_unused_result  

    196                                   属性的函数的调用者未使用前者的返回值时给出警告  

    197       -Wunused-value              当一个表达式的值未被使用时给出警告  

    198       -Wunused-variable           有未使用的变量时警告  

    199       -Wvariadic-macros           指定 -pedantic  

    200                                   时不为可变参数宏给出警告  

    201       -Wvla                       使用变长数组时警告  

    202       -Wvolatile-register-var     当一个寄存器变量被声明为 volatile  

    203                                   时给出警告  

    204       -Wwrite-strings              C++中,非零值表示将字面字符串转换为‘char  

    206                                   *’时给出警告。在 C  

    207                                   中,给出相似的警告,但这种类型转换是符合  

    208                                   ISO C 标准的。  

    209       -frequire-return-statement  Functions which return values must end with  

    210                                           return statements  


  • 相关阅读:
    【Codevs 2630】宝库通道
    【Codevs 2115】数集分割
    【HDU2037】今年暑假不AC
    【Codeforces】Round #376 (Div. 2)
    【Dairy】2016.10.17-1 OIer最悲剧的事情
    【Codevs 3115】高精度练习之减法
    【Codevs1080】质数环
    【T^T 1871】获取敌情
    【Codevs3151】交通管制I
    【Codeforces】716D Complete The Graph
  • 原文地址:https://www.cnblogs.com/lkjson/p/4337747.html
Copyright © 2020-2023  润新知