坚持以下哪些措施可以避免栈溢出 a.不要定义占用较大的auto变量,应该将此类
答案:1 悬赏:40 手机版
解决时间 2021-04-06 23:05
- 提问者网友:未信
- 2021-04-06 10:03
坚持以下哪些措施可以避免栈溢出 a.不要定义占用较大的auto变量,应该将此类
最佳答案
- 五星知识达人网友:零点过十分
- 2021-04-06 10:29
常言所说的堆栈溢出,就是指栈溢出。使用 malloc(); 函数是动态分配内存堆区的空间,一般的程序如没用这个,就不存在堆溢出。栈溢出: 栈空间是预设的,它通常用于存放临时变量,如果你在函数内部定义一个局部变量,空间超出了设置的栈空间大小,就会溢出。不仅如此,如果函数嵌套太多,也会发生栈溢出,因为函数没有结束前,函数占用的变量也不被释放,占用了栈空间。解决办法:恰当的设置栈空间大小。分析代码,评估在哪个环节,使用的临时变量字节数最大,所设置的栈空间必须大于此。也可以将大的变量在全局进行定义,它就不占用栈区空间
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯