ubuntuでライブラリlibfprintを使用しています。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;
}
Java コードからこの関数に整数値 5 を渡しています。上記の関数を実行しようとすると、次のエラーが発生しました。
GLib-ERROR **: /build/buildd/glib2.0-2.30.0/./glib/gmem.c:170: failed to allocate 3077591024 bytes
2 つの異なる ubuntu マシンで同じコードを試しましたが、エラーは同じままです。24 + 5の長さに非常に多くのバイトを割り当てようとしている理由がわかりません。
誰かが私に解決策を提案できますか?