吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4458|回复: 6
收起左侧

[求助] 主函数main 使用堆叠的字节,请考虑将一些数据移动到堆

  [复制链接]
Ziron 发表于 2022-7-11 17:49
本帖最后由 Ziron 于 2022-7-12 10:38 编辑

如题
运行程序没问题,但出了警告,说我   main函数使用堆叠的“26408”字节,请考虑将一些数据移动到堆。请问大佬们,这怎么解决


头文件里面写了很多结构体
然后创建了90个结构体数组

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

charm999 发表于 2022-7-11 19:15
这个是灌溉系统吗
niuyufeng 发表于 2022-7-11 19:40
是说你在main函数里用的堆栈内存太多了,容易把堆栈空间用光,可以考虑用动态内存分配  malloc free  或 new delete,把数据分配到堆中,堆和栈是程序的两个内存空间。
如果你的程序和函数调用不是很多,这个警告忽略也可以,自己心里有数就行了
豪猪12138 发表于 2022-7-11 22:19
函数里面申请的局部变量是在栈区的,一般情况栈比堆小很多,编译器怕你栈溢出,所以给了这个警告,一般情况没事,可以用new或者放到全局变量里
 楼主| Ziron 发表于 2022-7-12 09:45
豪猪12138 发表于 2022-7-11 22:19
函数里面申请的局部变量是在栈区的,一般情况栈比堆小很多,编译器怕你栈溢出,所以给了这个警告,一般情况 ...

可是我觉得我 栈上放的东西不多啊   
chengxuyuan01 发表于 2022-7-15 08:50
方法内的局部变量是放在虚拟机栈里面的,栈的内存一般不是很大,而且不会进行垃圾回收,所以一般不会房太多的局部变量,可以试着使用new放入堆中,如果该字符串使用较频繁,可以放入到元空间的常量池,元空间使用的是操作系统内存,一般不会溢出
豪猪12138 发表于 2022-7-15 17:48
Ziron 发表于 2022-7-12 09:45
可是我觉得我 栈上放的东西不多啊

你觉得不管用,得编译器觉得少才是少,再说不是只是个警告,说明还没有到溢出的地步
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-12 19:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表