0 0

java(JNA/JNative/JNI等)怎样调用 DLL 中 返回 指针 的函数 得到指针值?10

JAVA(JNA/JNative/JNI等)怎样调用DLL返回指针的函数(指针函数),得到其值(其指针对应的值)?

以下给出其它语言的调用示例:

 

//////////////////////////////////////////////////////////////////////////////////////////

 

vb中的调用方式:

Private Declare Function functionA Lib "mydll.dll" (ByVal a As Long, ByVal  b As Long, ByVal c As String, d As Long) As Long

jieguo = "    "
no1 = functionA(0,0,strA,0) '返回识别结果字符的指针
no2 = lstrcpy(jieguo, no1) 'VB中用lstrcpy就可以从指针得到字符了,当然你也可以选择其他的方式

 

我要的就是 jiegou

///////////////////////////////////////////////////////////////////////////////////////////


vc中的调用:

char* WINAPI functionA(...)
    Def_API(tag_functionA, functionA, "mydll.dll")

char* ret = functionA(...);

我要的就是 ret字符串

 

///////////////////////////////////////////////////////////////////////////////////////////

 

那JAVA中怎样来调用呢,DLL我是没办法更改的!试过用JNative、JNA调用,都没有调用指针函数的示例.自己用C写一个DLL间接调用估计可以,但C写DLL不会...

2009年1月25日 01:34

1个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
那JAVA中怎样来调用呢,DLL我是没办法更改的!试过用JNative、JNA调用,都没有调用指针函数的示例.自己用C写一个DLL间接调用估计可以,但C写DLL不会...

用HANDLE作为返回指针。然后
resultA.getPointer().getString(0)

取得字符串。详情请看短信。

2009年1月25日 12:29

相关推荐

Global site tag (gtag.js) - Google Analytics