恭喜,你发布的帖子
发布于 2021-11-25 10:38:16
28楼
之前没有仔细看自动分配的程序,你的程序还真是精巧。利用临时区域最后四字节来存储可用V的指针的指针,但是常规中计算自己首址时用空闲+4是什么意思?第0级还好说,其他级也需要+4吗?
以后的编程是不是也需要用指针来操作还是像普通编程一样呢?
自动分配依赖于子程序临时区,这个是系统栈中的内容,问题是如果这样依赖于返回的子程序不会对临时区后面几个地址进行破坏,程序的健壮性在哪里呢?
如果不需要静态,就只做个简单子程序运算,是不是一下子就破了呢?
还有个疑问,中断程序是怎样的分配呢?中断不用临时区吗?还是系统会分配其他地方?
--------------------
我倒是觉得不要寄希望于系统告诉你不会初始化临时区这个知识点,还是要认为临时区数据不稳定,看作任意值好些。
芳季的程序在对每个子程序调用时分配的过程数据区前四个字节存储的是数据区首址指针,接着才存储真正的过程数据,所以要+4.且需要程序全扫描才能保证数据不会混乱。这种机制对中断程序中调用的子程序是有问题的。
请填写推广理由:
分享
只看
楼主