我正在使用 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
我究竟做错了什么?
提前致谢。