最近,我在Windows上制作了一个CCTV节目的视频播放器程序.由于程序必须同时解码和播放许多视频流,我认为它可能会遇到malloc失败的情况,我在每个malloc之后添加检查.
但从口头上讲,在我在开源项目中阅读的这些开源程序代码中,我很少发现对malloc结果的任何检查.所以当malloc失败时,大多数程序都会崩溃.那不是不接受吗?
我在linux上编写服务器程序的同事会为100个客户端连接分配足够的内存.因此,虽然他的程序可能会拒绝101客户端,但它永远不会遇到malloc的失败.他的方法是否也适用于桌面应用程序?
我自己的一个策略是在程序启动时分配5兆字节的内存(或者你认为必要的任何数字).
然后,当程序malloc()返回任何一点时NULL,你释放5兆字节并malloc()再次调用,这将成功并让程序继续运行.
您对此策略有何看法?
你还知道其他什么策略?
谢谢,Boda Cydo.