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