LWJGL 3 malloc 返回空值?

罗伯特·哈比森

所以我正在使用 lwjgl 3 并尝试使用 stb 库呈现文本。我正在使用这个例子来创建我自己的实现。但是当我使用 malloc 设置 STBTTPackedchar.Buffer 时,它返回 null。如果我将大小更改为 3 * 128 而不是 6 * 128,它可以正常工作。也许这是我对 malloc 的理解有问题?据我所知,malloc 以字节的形式分配内存,如果无法分配该空间内存,则会返回 null。如果是这种情况,我不明白为什么这会返回 null,因为我的计算机中有足够的内存。

这是一个最小的测试用例:

import org.lwjgl.stb.STBTTPackedchar;

public class Test {

    private static STBTTPackedchar.Buffer chardata;

    public static void main(String[] args) {
        chardata = STBTTPackedchar.malloc(6 * 128);

        if (chardata == null) {
            System.out.println("Null");
        } else {
            System.out.println("Not Null");
        }

        chardata.free();
    }

}
凯·伯杰克

LWJGL 3.1.3 版本中存在一个影响结构缓冲区大小malloc(非calloc)分配的错误。这已经在最新的 3.1.4 稳定版和最新的夜间构建中得到修复,可以从https://www.lwjgl.org/customize或从 oss.sonatype.org 的 Maven Snapshot 存储库下载为 3.1.4-SNAPSHOT。此外,LWJGL 3.1.4 版本可能会在今晚/晚上(欧洲中部时间)发布。

更多信息请参见:https : //github.com/LWJGL/lwjgl3/commit/c7c94340d6a9796d38b2fb8292fe6d1dbff8ff04

还有当前 3.1.3 版本的(编辑)发行说明:https : //github.com/LWJGL/lwjgl3/blob/master/doc/notes/3.1.3.md#known-issues

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章