1

Cygwin g++ コンパイラを使用して共有ライブラリ Client.dll を作成し、JAVA プログラムを介して呼び出しています。

Client.c プログラムから「cout <<」コマンドを削除すると、すべて正常に動作します。メソッドは値を返します。しかし、cout コマンドを追加すると、JVM がフリーズします。

Client.c には次のものがあります。

JNIEXPORT jint JNICALL Java_nativeCode_Client_getDummyData(JNIEnv * env, jobject obj, jint pmuId)
{
    jint myint = 11;
    pmuId = pmuId + pmuId;
    cout <<"here";
    return myint;
}

私は.dllを次のように作成しています。

$ g++ -I"C:\Program Files (x86)\Java\jdk1.6.0_33\include" -I"C:\Program Files    
    (x86)\Java\jdk1.6.0_33\include\win32" -Wl,--add-stdcall-alias -shared -o Client.dll Client.c

私は何を間違っていますか?

前もって感謝します。

4

0 に答える 0