gpt4 book ai didi

java - Glib内存分配错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:22 24 4
gpt4 key购买 nike

我正在使用图书馆 libfprint在 ubuntu 上,我试图通过我的 java 代码调用一个函数。

API_EXPORTED struct fp_img *fpi_img_new(size_t length)
{
struct fp_img *img = g_malloc(sizeof(*img) + length);
memset(img, 0, sizeof(*img));
fp_dbg("length=%zd", length);
img->length = length;
return img;
}

我将整数值 5 从我的 Java 代码传递给此函数。当我尝试执行上述功能时,出现以下错误:

GLib-ERROR **: /build/buildd/glib2.0-2.30.0/./glib/gmem.c:170: failed to allocate 3077591024 bytes

我在两台不同的 ubuntu 机器上尝试了相同的代码,但错误仍然存​​在。我不知道它为什么要为 24+5 长度分配这么多字节。

谁能给我建议任何解决方案?

最佳答案

The source code明确指出:

/* structs that applications are not allowed to peek into */
(...)
struct fp_img;

所以,我不确定你为了编译需要 struct fp_img 大小的东西做了什么:你不应该这样做,因为结构声明是不透明的。

关于java - Glib内存分配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187529/

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