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

Posted 钟艳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下malloc开辟内存失败的问题相关的知识,希望对你有一定的参考价值。

 

操作系统: ubuntu 17.04

开发语言:QT

 

   程序是在QT下面编译CPURE-FTP代码,实现了FTP上传功能。同时我需要结合我自己的应用来控制文件的上传和下载功能。还可以4G,而pure-ftp模块上传下载一次需要调用Malloc函数,放在线程里面也好,同程序开辟多个线程也好,都会引起Malloc分配内存失败。这个是个非常头疼的问题。

   通过开辟线程来运行PURE-FTP模块。然后开辟其他线程来于此沟通。我的内存

   最后也有人提议,把内存模块分配好后,避免在线程里调用,但是我估计FTP模块的上传下载是针对多个用户的,内存的临时开辟还是非常必要的,不能事先开辟好的。

我觉得问题可能是在线程内开辟受一定限制或者程序开辟受限有一定的关联,具体内存的管理以及分析确实要好好下功夫去看看,但时间来不及。

我考虑到通过C调用C++模块去处理内存。

 

C代码里面的 malloc放弃使用,去调用C++模块自己去写的函数。测试通过!

以上是关于linux下malloc开辟内存失败的问题的主要内容,如果未能解决你的问题,请参考以下文章

C语言怎么开辟超大内存?(malloc)

转:C语言申请内存时堆栈大小限制

C语言malloc 函数

堆/栈的比较 以及 malloc/new动态内存的开辟

C语言动态内存开辟

C语言动态内存开辟