c ++ iostreams无法通过JNI工作

时间:2012-07-25 18:15:43

标签: java java-native-interface g++ cygwin

我正在使用Cygwin g ++编译器创建一个共享库Client.dll,并通过JAVA程序调用。

如果我删除'cout<<',一切正常来自Client.c程序的命令。该方法返回值。但是当我添加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

我做错了什么?

提前致谢。

0 个答案:

没有答案