char * jtrue;
jtrue=0x01;
fileName=(*env)->GetStringUTFChars(env,jFileName,jtrue);
或者传递array试试
jtrue=0x01;
fileName=(*env)->GetStringUTFChars(env,jFileName,jtrue);
或者传递array试试
解决方案 »
- 如何判断导入数据库的Excel内容是否有重复记录?
- j2se、j2ee中的一系列时间问题
- Myeclipse 6.5GA和Myeclipse Bule有什么区别!
- 如何从.java文件中分析函数调用
- 关于线程问题,请帮我看看呀。谢谢各位。
- JSP页面中打印预览不能分页显示 ? 请求帮助,谢谢!
- 求助:通过接收E-mail能分析考生考试水平(得分失分情况)
- 我用mm.mysql-2.0.14-bin.jar连接mysql4出现下面的错误!
- 缓冲流的意义是什么?请帮忙解答一下。
- 请问SQL中的datetime类型于java中什么类型对应?
- 怎样得到一个图形文件的高度和宽度呢?
- [帮助]我把resin加到windows的服务里,但是启动不了!!
上面都很简单的调用,他问的是调用成功出现的问题。
“在java调用中fileName输出是正确的,用printf输出看说明调用和传递成功了,但程序在使用该变量的方法里面终止了,问题何在呢??”
我看是jvm和C变量转变问题,
fileName=(*env)->GetStringUTFChars(env,jFileName,0);函数有问题
fileName指向的字符串应该复制一份到C程序中
jboolean iscopy;
const char *fileName= (*env)->GetStringUTFChars(
env, jFileName, &iscopy);
jboolean iscopy=JNI_FALSE;
或者JNI_TRUE,不知道有什么不同,看看哪个可以就
用咯
RunDllTest("text");写个参数给C,结果依然
RunDllTest方法下面的printf就不执行了
那么RunDllTest使整个程序退出了,会不会是
内存超出jvm界限了??
谢谢