性在婚姻生活中真的重要吗?
《三角洲行动》7.3日新赛季【破壁】,有什么值得期待的?
***拍大尺度片子时摄影师不会看光吗?
postgres集群的选择?
HTTP/3 解决了什么问题,又引入了什么新问题?
罗马仕宣布召回超 49 万台充电宝,极端场景下可能有燃烧风险,有多危险?为何有安全隐患的产品能够上市?

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

发布日期:2025-06-28 00:50:12 浏览次数:0

举个例子。

比如在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运行”的情况?