如何解决是否有任何 C 编译器能够检测到违反“严格遵守程序”的情况?
是否有任何 C 编译器能够检测*违反“严格遵守程序”的情况?
* 在某些选项下,例如 --accept-only-strictly-conforming-program
如果不是,那么使用哪些工具来检测违反“严格遵守程序”的情况?
信息性(C11,4。一致性,p5):
严格遵守的程序应仅使用本国际标准中规定的语言和库的那些特性。3) 它不应产生依赖于任何未指定、未定义或实现定义的行为的输出,并且不应超过任何最小实现限制。
解决方法
- 缓冲区溢出是未定义的行为。
- 因此,此编译器必须检测每个可能的程序中的每个可能的缓冲区溢出。
- 听起来太难或不可能
- 听起来这样的编译器不存在:'(
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。