0

是否有任何 C 编译器能够检测*违反“严格符合程序”的情况?

* 在某些选项下,例如,--accept-only-strictly-conforming-program

如果不是,那么使用哪些工具来检测违反“严格符合程序”的情况?

信息丰富(C11, 4. 一致性,p5):

严格遵守的程序应仅使用本国际标准中指定的语言和库的那些特性。3) 它不应产生依赖于任何未指定、未定义或实现定义的行为的输出,并且不应超过任何最小实现限制。

4

1 回答 1

2
  • 缓冲区溢出是未定义的行为。
  • 因此,此编译器必须检测每个可能的程序中的每个可能的缓冲区溢出。
  • 听起来太难或不可能
  • 听起来这样的编译器不存在:'(
于 2021-06-03T13:02:05.587 回答