争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

linux下malloc开辟内存失败的问题

时间:2024/6/10作者:未知来源:争怎路由网人气:

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
操作系统: ubuntu 17.04
开发语言:QT
 
程序是在QT下面编译C的PURE-FTP代码,实现了FTP上传功能。同时我需要结合我自己的应用来控制文件的上传和下载功能。还可以4个G,而pure-ftp模块上传下载一次需要调用Malloc函数,放在线程里面也好,同程序开辟多个线程也好,都会引起Malloc分配内存失败。这个是个非常头疼的问题。
通过开辟线程来运行PURE-FTP模块。然后开辟其他线程来于此沟通。
 
最后也有人提议,把内存模块分配好后,避免在线程里调用,但是我估计FTP模块的上传下载是针对多个用户的,内存的临时开辟还是非常必要的,不能事先开辟好的。
我觉得问题可能是在线程内开辟受一定限制或者程序开辟受限有一定的关联,具体内存的管理以及分析确实要好好下功夫去看看,但时间来不及。
 
我考虑到通过C调用C++模块去处理内存。
C代码里面的 malloc放弃使用,去调用C++模块自己去写的函数。测试通过!

Linux是一套免费使用和自由传播的类Unix操作系统



关键词:linux下malloc开辟内存失败的问题




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版