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

2025-06-24 12:25:13

举个例子。

比如在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
相关阅读
为什么 IPv6 在国内至今未得以大规模应用?

为什么 IPv6 在国内至今未得以大规模应用?

我记得有个文件 规定了时间节点,和全网通过ipv6的数据流量...

2025-06-22
黑客为什么可以做到无需知道源码的情况下找出系统漏洞?

黑客为什么可以做到无需知道源码的情况下找出系统漏洞?

很久以前,***设你看中了一个音乐网站,部分音乐免费,部分音...

2025-06-22
伊朗那么大却被一个小小的以色列打的无法还手?很多高层领导都被干掉了为什么?

伊朗那么大却被一个小小的以色列打的无法还手?很多高层领导都被干掉了为什么?

大清是这样的,明面上在老佛爷的英明领导下,在八旗子弟的以身作...

2025-06-22
Chrome 浏览器设计的神细节有哪些?

Chrome 浏览器设计的神细节有哪些?

最近下载 Google Chrome 时,发现了一个小 bu...

2025-06-22
姐妹们穿裙子露出安全裤打底裤会害羞吗?

姐妹们穿裙子露出安全裤打底裤会害羞吗?

哎…… 好愁人…… 女孩子为什么穿打底裤,不就是为了防止男孩...

2025-06-22