0 0

jna怎么得到dll中CHAR*的返回字符串10

我想得到.dll中一个回调函数的返回的字符串
c:
typedef INT32 ( *POnRecvMsgCallback)(
    CHAR *pDID,
    UINT32 nMsgType,
    CHAR *pMsg,
    UINT32 nMsgSize,
    VOID *pUserData);
java:
public interface POnRecvMsgCallback extends StdCallCallback {
//int invoke(String pDID,int nMsgType,ByteByReference pMsg,int nMsgSize,Pointer pUserData);使用ByteByReference只能返回一个byte,不能得到字符串的值
    //int invoke(String pDID,int nMsgType,String pMsg,int nMsgSize,Pointer pUserData);用String返回值为null
2014年11月29日 14:04
目前还没有答案

相关推荐

    java用JNA调用dll实例,包含各种参数调用

    JNA通过映射DLL中的函数到Java类的方法来实现调用。你需要定义一个接口,该接口的每个方法对应DLL中的一个函数,然后使用`NativeLibrary`类加载DLL,并将接口实例化,这样就可以在Java中直接调用DLL函数了。 1. **...

    jna调用系统dll文件并且获得返回参数的实例

    采用java jna4.1 调用C编写的dll文件,获得返回结果,且获得返回参数的例子

    JNA调用DLL完整实例demo

    在“JNA调用DLL完整实例demo”中,我们首先需要创建一个Java接口,这个接口将代表DLL中的函数。例如,如果DLL中有一个名为`recvWork`的函数,我们的Java接口可能会这样定义: ```java public interface ...

    Jna调用dll实例

    在上述代码中,`MyDllLibrary`接口扩展了`Library`接口,`callDllFunction`是DLL中的一个函数,接受一个字符串参数并返回一个整数。 接下来,你需要加载DLL。JNA通过`LibraryLoader`来加载本地库,你可以这样做: ...

    JAVA利用JNA调用DLL

    // 调用DLL中的add函数 int result = myDLL.add(5, 7); System.out.println("结果: " + result); } } ``` **注意事项** 1. **32位 vs 64位**: 如果你的DLL是32位的,确保你的Java运行环境也是32位;如果是64位,...

    jna调用dll完成demo实例, 超简单

    3. **调用DLL函数**:在你的主程序中,你可以直接通过`MyDllLibrary.INSTANCE.addNumbers(a, b)`来调用DLL中的函数。例如: ```java public class Main { public static void main(String[] args) { int result ...

    亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。

    4. **调用DLL函数**:通过接口实例调用DLL中的函数,传递必要的参数,包括回调函数接口实例。 5. **处理回调**:在定义的回调函数接口中实现具体的逻辑,确保与DLL的约定一致。 6. **测试和优化**:编写测试用例...

    JNA调用DLL函数.rar

    同时,如果DLL中的函数有更复杂的参数类型,如结构体或指针,JNA提供了类型映射机制来处理这些情况。 总之,"JNA调用DLL函数"这个主题涵盖了Java平台的本地调用能力,以及如何利用这种能力与C语言编写的动态链接库...

    jna.jar.zip_jna_jna.jar_jna调用dll

    这个接口需要使用`@Native`注解,并且方法名应与DLL中的函数名相同。例如,如果DLL有一个名为`AddNumbers`的函数,接收两个整数参数并返回它们的和,可以这样定义: ```java public interface MyDLL extends ...

    jna调用dll

    2. 创建一个Java接口,该接口代表DLL中的函数。每个方法的注解`@Native`表示它将被映射到本地函数。 3. 使用`Library`注解指定DLL的名称,如`@Library("mydll")`。 **步骤3:调用DLL函数** 1. 创建`NativeLibrary`...

    使用JNA替代JNI调用DLL,并解决内存溢出问题

    - **JNA** 极大地简化了这一过程,几乎无需离开Java环境就能调用DLL中的函数。 #### JNA 技术原理 JNA通过一个小型的JNI库来实现对本地代码的动态调用。其主要特点包括: - 开发者仅需通过Java接口描述目标本地库的...

    jna demo 内附dll方法查看工具

    这样的工具可以帮助开发者了解DLL中可用的函数,以及它们的参数和返回类型。这对于使用JNA时确定需要调用的函数非常有用。通常,这些工具会显示函数的导出信息,包括函数名、参数数量和类型等。 **JNA的类型映射** ...

    最简单的JNA调用DLL

    标题中的“最简单的JNA调用DLL”是指Java Native Access(JNA)库在Java程序中调用Windows Dynamic Link Library (DLL) 文件的一种基础方法。JNA是Java平台上的一个开源库,它允许Java代码与本地平台API进行交互,...

    JNA调用.dll文件或.so动态链接库的代码demo

    在标题中提到的“JNA调用.dll文件或.so动态链接库的代码demo”,这是一个实际应用JNA来调用本地动态库的示例。下面我们将深入探讨JNA的工作原理、使用步骤以及如何处理.dll和.so文件。 1. **JNA工作原理**: JNA...

    JNA 转java接口以及指针结构体解析

    例如,如果你要调用一个接受整数和返回字符串的C函数,那么Java接口可以这样定义: ```java public interface NativeLibrary extends Library { String nativeFunction(int input); } ``` 接下来,我们需要配置...

    jna调取dll示例demo

    java后端springBoot框架使用jna调取C语言的dll接口(停车场道闸接口) 包含构造体的调用, 回调函数的调用,JNA和C / C ++的数据类型映射,Pointer类型的使用

    jna-5.0.0.jar中文文档.zip

    注:下文中的 *** 代表文件名中的版本号。 # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt...

    java jna 调用dll例子

    每个函数声明应匹配DLL中的函数签名,包括参数类型和返回值类型。例如: ```java public interface DahuaSdk extends Library { DahuaSdk INSTANCE = (DahuaSdk) Native.load("DahuaSdk", DahuaSdk.class); int ...

    jna-5.4.0.jar中文文档.zip

    注:下文中的 *** 代表文件名中的版本号。 # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt...

Global site tag (gtag.js) - Google Analytics