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
私は何を間違っていますか?
前もって感謝します。