gpt4 book ai didi

memory - DSFML2 中的破坏

转载 作者:行者123 更新时间:2023-12-02 06:26:35 24 4
gpt4 key购买 nike

(使用 dmd v2.051 编译)

代码如下:


import dsfml.graphics.all;

void main()
{
while(true)
auto rect = new Image(1024, 1024);
}

一分钟就出错,抛出异常。我猜这是由于内存泄漏造成的。

另一方面,像这样的代码会导致访问冲突和/或异常:

import dsfml.graphics.all;void main(){    auto rect = new Image(1024, 1024);    rect.dispose();}

我实际上应该如何处理图像和其他类似的类?我希望避免内存泄漏访问冲突。

最佳答案

现在无法查看代码,但我认为 dispose() 并不真正适合公共(public)使用。

请记住,DSFML 只是 CSFML 的包装器,而 CSFML 又包装了 SFML。您需要非常小心以确保用户不会破坏任何东西。DSFML 适合正常使用,但无法处理 while(true) 循环等极端情况。

我已经思考了一段时间是否最好改用基于 SWIG 的方法来结束这个维护噩梦。这可能还会使使用 SFGUI 等扩展变得更加容易。

关于memory - DSFML2 中的破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com