java由于语言限制,不能使用char*作为返回值。 局部变量的字符串不能正常返回,vc可以正常接收,java不能接收。
c语言
int __stdcall GetCharacterCodeJn(char* outjson, int* outjson_len)
java语言
package softgranttest;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import com.sun.jna.Library;
import com.sun.jna.Memory;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
public class Test {
// 定义接口CLibrary,继承自com.sun.jna.Library
public interface testdll extends Library {
testdll Instance = (testdll) Native.loadLibrary("totfranjo" , testdll.class);
int GetYellopCouCod(Pointer outjson_pointer,Pointer outjson_len_pointer);
}
<