Size of structure or array not known (结构或数组大小不定)
结构或数组大小不定。有些表达式(如 sizeof 或存储说明)中出现一个未定义的结构或一个空长度数组。如果结构长度不需要,在定义前就可引用;如果数组不申请存储空间或者初始化时给定了长度,那么就可定义为空长。
Unable to creat output file 'XXXXXXXX.XXX' (不能创建输出文件'XXXXXXXX.XXX')
分析与处理:当工作软盘已满或有写保护时产生此类错误。如果软盘已满,删除一些不必要的文件后重新编译;如果软盘有写保护,把源文件移到一个可写的软盘上并重新编译。
Unable to create turboc.lnk (不能创建turboc.lnk )
分析与处理:编译程序不能创建临时文件TURBOC.LNK,因为不能存取磁盘或者磁盘已满。
Unable to execute command 'xxxxxxxx'(不能执行'xxxxxxxx'命令)
分析与处理:找不到TLINK或MASM,或者磁盘出错。
Unable to open include file 'xxxxxxx.xxx' (不能打开包含文件'xxxxxxxx.xxx')
分析与处理:编译程序找不到该包含文件。可能是由于一个#include文件包含它本身而引起的,也可能是根目录下的CONFIG.SYS中没有设置能同时打开的文件个数(试加一句 file=20)。
Unable to open inputfile 'xxxxxxx.xxx' (不能打开输入文件'xxxxxxxx.xxx')
分析与处理:当编译程序找不到源文件时出现此类错误。检查文件名是否拼错或检查对应的软盘或目录中是否有此文件。
Call to function with prototype (调用无原型函数)
分析与处理:如果“原型请求”警告可用,且又调用了一无原型的函数,就发出此类警告。
Call to function 'xxx' with prototype (调用无原型的‘xxxx' 函数)
分析与处理:如果“原型请求”警告可用,且又调用了一个原先没有原型的函数‘xxxx',就发出本警告。
Code has no effect (代码无效)
分析与处理:当编译程序遇到一个含无效操作符的语句时,发出此类警告。如语句:a+b,对每一变量都不起作为,无需操作,且可能引出一个错误。
Constant is long (常量是 long 类型)
分析与处理:当编译程序遇到一个十进制常量大于 32767,或一个八进制常量大于 65535 而其后没有字母‘I’或‘L’时,把此常量当作 long 类型处理。
Constant out of range in comparision (比较时常量超出了范围)
分析与处理:在源文件中有一比较,其中一个常量孖表达式超出了另一个孖表达式类型所允许的范围。如一个无符号常量跟 -1 比较就没有意义。为得到一大于 32767(十进制)的无符号常量,可以在常量前加上 unsigned(如 (unsigned)65535)或在常量后加上字母‘u’或‘U’(如 65535u)。
Conversion may lose significant digits (转换可能丢失高位数字)
分析与处理:在赋值操作或其他情况下,源程序要求把 long 或 unsigned 类型转变成 int 或 unsigned int 类型。在有些机器上,因为 int 型和 long 型变量具有相同长度,这种转换可能改变程序的输出特性。
无论此警告何时发生,编译程序仍将产生代码来做比较。如果代码比较总是给出同样结果,比如一个字符表达式与 4000 比较,则代码总要进行测试。这还表示一个无符号表达式可以与 -1 作比较,因为 8087 机器上,一个无符号表达式与 -1 有相同的位模式。
Possible use of 'xxxxxxxx' before definition (在定义‘xxxxxxxx'之前可能已使用)
分析与处理:源文件的某一表达式中使用了未经赋值的变量,编译程序对源文件进行简单扫描以确定此条件。如果该变量出现的物理位置在对它赋值之前,便会产生此警告,当然程序的实际流程可能在使用前已赋值。
Possible incorrect assignment (可能的不正确赋值)
分析与处理:当编译程序遇到赋值操作作为条件表达式(如 if,while 或 do-while 语句的一部分)的主操作符时,发出警告,通常是由于把赋值号当作符号使用了。如果希望禁止此警告,可把赋值语句用括号括起,并且把它与零作显示比较,如:if(a=b)...应写为:if((a=b)!=0)...