基本(缺省模式)
增强(包括由基本 lint 执行的一切内容以及附加的详细代码分析)
在基本模式和增强模式下,lint 通过标记文件(包括已使用的任何库)间定义和用法中的不一致,来补偿 C 中的单独编译和独立编译。特别是在大型项目环境中,同一函数可能被不同程序员用在数百个单独的代码模块中,在这种情况下,lint 有助于发现借助其他方式很难发现的错误。例如,如果调用函数时使用的参数比所需的参数少一个,该函数在栈中查找该调用从未推的值,结果在一个条件下正确,在另一个条件下不正确,具体取决于内存中该栈位置发生的情况。通过标识类似的依赖性以及对计算机体系结构的依赖性,lint 可提高运行于您的计算机或其他计算机上的代码的可靠性。
在增强模式下,lint 提供比在基本模式下更详细的报告。在基本模式下,lint 的功能包括:
源程序的结构和流分析
常量传播和常量表达式求值
控制流和数据流的分析
数据类型使用的分析
在增强模式下,lint 可以检测以下问题:
未使用的 #include 指令、变量和过程
内存释放之后内存的使用
未使用的赋值
初始化之前使用变量值
未分配内存的释放
写入常量数据段时使用指针
非等价宏重定义
未执行到的代码
符合联合中值类型的用法
实际参数的隐式强制类型转换。