请教一个JNI问题;请高手帮忙用java 调用 dll 里的API ;我需要有返回值;不知道怎么得到
看了有关文档 好象 是必须用 类(实例) ;大家给个代码看看; 有Delphi最好; C也可以 ;先谢了
看了有关文档 好象 是必须用 类(实例) ;大家给个代码看看; 有Delphi最好; C也可以 ;先谢了
解决方案 »
- 如何实现Swing中关于JTree鼠标双击树的子节点时进行事件响应
- 你对java基础精通就请进
- 子类继承父类的private,只不过不能使用而已,内存里还是独立存在的....这句话对吗??
- 求救 递归算法结果是什么
- 请帮帮忙,各位高手
- 如何利用通过程序(java)将pdf格式的文档转换成html格式的文档
- 两个timestamp类型表示时间,怎么算这两个时间的差?
- 如果同一台机子有双网卡,怎样区分内部IP和外部IP呢
- jtable 排序问题
- 哪位解释一下这句话constructor code executes from the current class up the hierarchy to the ancestor class
- linux下的java文件压缩
- JWindow是否支持键盘事件?
JNIEXPORT jstring JNICALL Java_com_ubi_patrolapi_PatrolAPI_getPatrolAppList
(JNIEnv *jEnv, jobject jObj)
{
char *appList; appList = PemnBGetApplList(hComm, USE_DEFAULT_TIMEOUT);
return (*jEnv)->NewStringUTF(jEnv, appList);
}
这个都能传递多个参数回来。
你可以在声明java函数的时候,返回值声明成可以返回多个的就可以了
比如:
public native List getNameList(String name);
public native String getName(String name);
public native String[] getNameArray(String name);
这样用javah编译后
/*
* Class: TestJavaH
* Method: getNameList
* Signature: (Ljava/lang/String;)Ljava/util/List;
*/
JNIEXPORT jobject JNICALL Java_TestJavaH_getNameList
(JNIEnv *, jobject, jstring);/*
* Class: TestJavaH
* Method: getName
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_TestJavaH_getName
(JNIEnv *, jobject, jstring);/*
* Class: TestJavaH
* Method: getNameArray
* Signature: (Ljava/lang/String;)[Ljava/lang/String;
*/
JNIEXPORT jobjectArray JNICALL Java_TestJavaH_getNameArray
(JNIEnv *, jobject, jstring);这样在实现,就能够返回多个参数了吧