以下将描述关于可以在项目选项对话第三页进行设置的编译器Compiler 警告选项。说 明取自GCC页, egcs1.1.1.版。警告warnings 本身是诊断信息,表明创建可能引起错误 errors 。
综合的标准的`-W'选项。
用-W编译。这已选项设置了不时很特殊的未包含在-Wall中的选项。请阅读GCC-Info 以获得更多信息。
警告在传统或标准ANSI C中表现不同的某种构造。
在一个未定义标识在一个`&#;if'指令中作出评价时警告。
无论何时当本地变量variable 隐蔽了另一个本地变量variable 时警 告。
无论何时当两个不同标识符在第一个len字符匹配时警告。这可以帮助 你准备一个将由一定编译器Compiler s程序编译的程序。
无论何时当一个比LEN字节长的对象被定义时警告。
警告依靠一个函数类型或空的大小的任何事物。GNU C给这些类型大小 赋值为1,为方便计算使用void * 空指针及函数指针。
无论何时当一个函数调用是用于一个不匹配类型时警告。例如,当 int malloc() 用于anything *.时警告。
无论何时当投出一个指针以从目标类型去除一个类型限定时警告。例如, 在一个const char *投向一个普通的char *时警告。
无论何时当投出一个指针以使目标所要求的队列增加时警告。例如,当一 个char * 投向一个在整型只有在2或4个字节限定时才能访问的机器上的int *时警告。
赋予字符串常量予char&[;length]常量类型,这样拷贝其一的地址到一个非 常量的字符*指针时会得到警告。这些警告warnings 将帮助你找到一个编译时间代码, 它可以尽力写入一个字符串常量,但只有当你在声明declaration s 及原型中使用常量时 十分仔细才可。否则,它就只是一个损害;这就是我们没有让`-Wall'请求这些警告 warnings 的原因。
当一个原型引起一个不同于没有原型时发生于同一argument的类型转换时 警告。这包含定点转换为浮点,反之亦然,及改变定点数范围和有无符号的转换,除了和缺 省的晋级一样时。
当有符号数转变为无符号数,而有符号和无符号的值的对比将产生一 个不正确的结果时警告。
当返回结构或联合的任何函数被定义或调用时警告。(在可以返回队 列的语言中,这也会引起警告。)
如果一个全局函数定义却没有前面的原型声明declaration 时 警告。即使定义本身提纲了原型这个警告也将发出。其目的是监测头文件中未声明的全局函 数。
当全局函数没有先声明declaration 就定义时警告,即 使定义本身提供了原型。使用这一选项来监测头文件中未声明的全局函数。
当某种事物在同一范围内的声明了超过一次时警告,即使是在多声明 declaration 有效且没有改动的地方。
如果一个外部声明declaration 在一个函数中遇到时警告。
如果一个函数不能内联,而它要么声明为内部,要么给出-fin*line-functions选 项时警告。
如果一个老风格(C-风格)调用用于次序时警告。
(C++ only.) 在一个派生类中,虚拟函数的定义必须匹配在基本类 中声明的虚拟类的签名类型。当一个派生类声明一个可能是一个定义虚拟函数的错误尝试的 函数时,使用此选项来请求警告warnings ;也就是说,有和一个基本类中虚拟函数同 名的函数,但有一个不匹配任何基类中虚拟函数的类型签名时警告。
当g++综合行为不匹配c前端时警告。
(-Werror) 把警告warnings 看作错误 errors ;在任何警告后退出编译。
要发布你的项目, 推荐使-Wall可用。