Ada编译器是否需要Lint检查?
在编程领域,错误检查是保障代码质量的重要环节。不同的编程语言在错误检查机制上存在差异,本文将围绕Ada语言和C/C++语言的错误检查情况展开探讨,分析Ada编译器是否需要类似C/C++的Lint检查工具。
1. 背景知识
- Ada与C/C++语言特点对比 :Ada语言的定义更为严格,自由度和灵活性相对C/C++较低。这使得Ada编译器能够进行更多的检查,发现一些C/C++编译器难以察觉的错误。
- Lint检查工具的由来 :为了增强C/C++程序的错误检查能力,出现了语义检查器,其中最早广泛传播的是用于Unix的“lint”程序。此后,“lint”成为这类语义检查器的通用名称。它就像去除衣服上绒毛的工具,能清除程序中的逻辑“绒毛”,确保程序更好地实现预期功能。
- 研究目的 :Ada支持者常声称Ada编译器已具备全面的检查功能,无需额外的Lint检查工具。本文通过分析43个C/C++程序,将其改写为Ada代码,观察Ada编译器或运行时是否能检测到问题,以此验证这一说法。
2. 测试集介绍
- 测试集来源 :Gimpel Software公司的PC - lint产品自1996年7月起,每月在行业期刊发布包含小C/C++程序的广告。这些程序虽能正常编译、链接和执行,但无法产生程序员预期的结果,存在隐藏的错误。通过运行该公司的Lint检查器,可发现这些错误。
- 测
超级会员免费看
订阅专栏 解锁全文
999

被折叠的 条评论
为什么被折叠?



