首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Magick++中禁用内存限制

如何在Magick++中禁用内存限制
EN

Stack Overflow用户
提问于 2018-11-02 17:16:56
回答 1查看 310关注 0票数 1

如何在Magick++中禁用任何内存限制?我不想有任何限制,我更喜欢内存超过的std::bad_alloc。

我试过了。

代码语言:javascript
复制
Magick::InitializeMagick( nullptr );
Magick::ResourceLimits::memory( 0 );
Magick::ResourceLimits::map( 0 );

但Magick++忽略了这一点。

这些静态方法接收无符号值,我尝试了足够大的值,比如9999999999,但是Magick++忽略了它们。

EN

回答 1

Stack Overflow用户

发布于 2018-11-02 21:11:37

我不相信您能够禁用资源限制,因为它是MagickCore库的基础。

我尝试了足够大的值,比如9999999999,但是Magick++忽略了它们。

在创始例程期间,会确定系统的最大限制,然后根据安全策略(policy.xml)和environmental variables进一步降低限制。尝试将内存设置为大于在天才期间识别的值的任何值都将被忽略。理想情况下,Magick++的Magick::ResourceLimits::....设置器应该在成功时返回一个布尔值;因此,与MagickCore的行为相匹配。

我不想有任何限制,我喜欢std::bad_alloc on memory

尽管我同意你的观点,依赖C++标准会很好,但我怀疑std::bad_alloc是否会被正确发布。核心库很好地平衡了临时、缓存和内存资源之间的大量数据流/缓冲区。如果,以某种方式,您可以禁用核心库中的限制,那么这种平衡将被打破,我怀疑这将导致更多的假阴性异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53115699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档