指紋スキャンと指紋照合用の Java アプリケーションがあります。指紋の照合には、libfprintライブラリを使用しています。ライブラリに関連するすべての設定を行いました。
ライブラリの初期化などの基本的な機能は、アプリケーションで正常に機能します。関数を使用してイメージにメモリを割り当てようとしていますfpi_img_new()
。その関数の構文は次のとおりです
struct fp_img *fpi_img_new(size_t length);
しかし、この関数に値を渡してメモリを割り当てようとすると、次のエラーが表示されます
GLib-ERROR **: /build/buildd/glib2.0-2.30.0/./glib/gmem.c:170: failed to allocate 3078340616 bytes
/usr/lib/jvm/java-7-openjdk/bin/java: line 31: 3078 Trace/breakpoint trap $jre $args
この関数の機能を確認するために手動で値を渡していますが、失敗します。上記の問題を解決するのを手伝ってくれませんか?前もって感謝します。
編集 :
fpi_img_new() 関数を使用しているコードは次のとおりです。
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;
}
そして、次のような整数値を渡すだけでこの関数を呼び出しています
fpi_img_new(2)