1

指紋スキャンと指紋照合用の 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)
4

0 に答える 0