急问java调用dll库,怎么传结构体指针获得返回值?谢谢,在线等,分数不够再加!!!
小弟初识jni,要用一个c的dll库,其中一个函数接口为:
char Login(struct Login_data * Login_result);
struct Login_data
{
char server[40];
char username[24];
char passwd[16];
}
要在java中调用,不知道怎么搞,我想在java中结构体直接写成类:
public class Login_Data
{
public char server[]= new char[40];
public char username[]= new char[24];
public char passwd[] = new char[16];
}
我想有两种方法:
1.直接把java的类传给dll:
private native char login(Login_Data loginData);但是我觉得这应该不行
2.写一个中间的dll来调用提供login(char* server,char* username,char* passwd),但是不知道怎么申明这个native函数,private native char login(a,b,c);并且a,b,c要带回一些值.
谢谢各位,不知道有没有做过类似的朋友,交流一下,望不吝赐教啊!