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