gpt4 book ai didi

c++ - 段错误 11 在不同机器上的行为

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:35 25 4
gpt4 key购买 nike

我在 C++ 中为一个非常大的图运行了一个深度优先搜索程序。 dfs 是以递归方式编写的。我的笔记本电脑出现段错误 11,但找不到任何错误。然后我在 linux 服务器上运行它,它运行良好。

我很好奇有什么区别。我怀疑堆栈大小,因为该程序是递归的,但正如我检查的那样:ulimit -a,两台计算机的堆栈大小都是 8192 kB。我找不到可能导致此问题的其他限制。你知道我为什么得到不同吗?谢谢你!

最佳答案

“段错误”只是正式定义为“未定义行为”的可能结果之一。

段错误的存在通常可以被认为是应用程序以某种方式参与“未定义行为”的确凿证据。

之所以称为“未定义行为”,正是因为:应用程序的行为未定义。实际行为可能取决于处理器、架构、一天中的时间、月相或谁赢得了世界大赛。有时应用程序会因段错误而崩溃。其他时候它可能会运行到最后,显然会产生预期的结果,或者可能会以一种无法检测到的行为产生微妙的错误结果。您不能期望程序有任何特定行为,因为它是未定义的。

这就是“未定义行为”的意思。 “未定义行为”的一个更为人熟知的同义词是“错误”。

关于c++ - 段错误 11 在不同机器上的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33490517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com