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

2025-06-28 08:30:11

举个例子。

比如在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
相关阅读
购买更快的 SSD 已经没有意义了吗?

购买更快的 SSD 已经没有意义了吗?

确实,高端NVMe SSD固态硬盘和合格的SATA SSD,...

2025-06-21
如何看待 Rust 的应用前景?

如何看待 Rust 的应用前景?

Rust对C++的威胁不威胁先放在一边,rustdoc文档功...

2025-06-21
golang总体上有什么缺陷?

golang总体上有什么缺陷?

写惯了ts,再去写j***a感觉也还行,再去写python,...

2025-06-21
为什么有人觉得在简历上写 QQ 邮箱很掉分?

为什么有人觉得在简历上写 QQ 邮箱很掉分?

我在电话里报邮箱地址,,,唯一只有航空公司特别好沟通。 因为...

2025-06-21
电视剧《长安的荔枝》17-20 集拍得如何?有哪些值得关注的剧情点?

电视剧《长安的荔枝》17-20 集拍得如何?有哪些值得关注的剧情点?

说句实话,这部剧真的是拍得拖沓,即使算不上是又臭又长,也是无...

2025-06-21