非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?

2025-06-24 20:45:16

举个例子。

比如在c/c++语言里,这个写法是非法的,bug: int* fun(int nums[], size_t len) { int sth; char c1; float other; char c2; int tmpNum[len]; char str[len]; //do sth return tmpNum; }其中的tmpNum叫局部变量,它分配在栈上;当fun执行了return时,这块内存就被自动收回了,就不能再读写了。

但如果你不懂,你就是把tmpNum返回了;那么下游的使用者还真就能读到里面的值——内存是被收回了,但数据仍然在内存条上…。

非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
广告位810*200
相关阅读
为什么 macOS 并不差,可市场总敌不过 Windows?

为什么 macOS 并不差,可市场总敌不过 Windows?

如果你还用OSX系统,哪怕只是9年前的版本,市面上也几乎没有...

2025-06-26
美国B2轰炸机从关岛轰炸伊朗是走的什么路线?

美国B2轰炸机从关岛轰炸伊朗是走的什么路线?

走的路线是从美国本土重载一路向东,路上加油机不间断加油 ...

2025-06-26
请问一下图中***的名字,谢啦?

请问一下图中***的名字,谢啦?

啧……鬼知道叫什么。 谁拍的倒是可以告诉你,是 CHOKm...

2025-06-26
预测一下,下一次阅兵会出现什么武器震惊世界?

预测一下,下一次阅兵会出现什么武器震惊世界?

还能有什么能震惊世界的武器? 人家的SPACE X设计起飞重...

2025-06-26
电脑有64G的物理内存(DDR5 5200),完全够用了,可以关闭系统的虚拟内存吗?

电脑有64G的物理内存(DDR5 5200),完全够用了,可以关闭系统的虚拟内存吗?

现身说法。 自从我电脑上有16G内存之后,每次重装完Wind...

2025-06-26