gcc -fsanitize多维数组

时间:2018-06-23 17:57:35

标签: c++ gcc

在编译类似cpp程序时

int main() {
  int a[5][5];
  cout << a[5][5];
}

用-fsanitzie = address编译,我得到了运行时异常,但是

int main() {
  int a[5][5];
  cout << a[3][5];
}
也超出范围的

不会触发此操作。 无论如何,gcc是否也可以检查多维数组,确保所有索引都在范围内。

1 个答案:

答案 0 :(得分:1)

我发现-fsanitize = bounds可以解决问题。