JNA函数调用C dll

时间:2014-12-22 10:12:12

标签: java c++ dll java-native-interface

我需要从我的java应用程序中调用c dll(mycppdll.dll)。

CFUNCTIONSDLLCALLS int PASCAL SomeFunction(
      char *param1, char *param2,
      char *param3, char *param4,
      char *param5,
      int  *param6,
      int  *param7,
      int  *param8);

我有一个c程序调用这个函数:

 char param1[256] = "";
 char param2[256] = "";
 char param3[256] = "";
 char param4[256] = "";
 char param5[256] = "";
 int param6;
 int param7;
 int param8[32];
ret = SomeFunction(param1,param2,param3,param4,param5, &param6, &param7, &param8[0]);

它完全正常。

在我的char * java程序中,我使用PointerByReference和int *作为IntegerByReference。 我不知道我应该为最后一个参数使用什么。

我试图传递整数数组的第0个索引的指针,整数数组的第0个索引的PointerByReference,int,IntByReference。

他们都没有工作。我正在

  

" java.lang.UnsatisfiedLinkError:查找功能时出错' SomeFunction':   找不到指定的程序。"

请帮忙。提前致谢

1 个答案:

答案 0 :(得分:0)

似乎SomeFunction不是dll的一部分(或者它可能没有相同的参数)