「javajna调用」JNA指令
本篇文章给大家谈谈javajna调用,以及JNA指令对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java JNA调用dll问题
- 2、java用jna调用C语言dll接口中的回调函数怎么写
- 3、java程序需要用jna调用一个***.so文件,我想把这个.so打到jar包里面,以后不需要再单独找,请问有没有办法?
- 4、java 通过jna调用so文件,导出函数返回类型为接口类的要怎么调用
Java JNA调用dll问题
在eclipse中直接选择项目,把dll文件粘进去,或者可以放在classpath下面,我调用的so文件是放在这个下面的,给spring的配置文件在一个地方,希望可以帮到你
java用jna调用C语言dll接口中的回调函数怎么写
简单的你会写,那就好办,直接上代码
public interface TestAPI extends StdCallLibrary {
interface LoginReply extends StdCallCallback {
/**
* 登录回调
*/
void invoke(String userId, long retCode, String retMsg);
}
/**
* 注册一个登录回调方法.此方法是dll提供的
*/
void RegisterLoginReply(LoginReply loginReply);
}
/**
* 实现登录回调方法
*/
private class LoginReplyCallBack implements TestAPI.LoginReply {
@Override
public void invoke(String userId, long retCode, String retMsg) {
log.info("登录回调方法:{},{},{}", userId, retCode, retMsg);
}
}
// 设置登录回调
api.RegisterLoginReply(loginReplyCallBack);
java程序需要用jna调用一个***.so文件,我想把这个.so打到jar包里面,以后不需要再单独找,请问有没有办法?
您好,是这样的:
import com.sun.jna.Library;
import com.sun.jna.Native;
public class TestSo {
public interface LgetLib extends Library {
// 调用linux下面的so文件,注意,这里只要写test就可以了,不要写libtest,也不要加后缀
LgetLib INSTANCE = (LgetLib) Native.loadLibrary("test",LgetLib.class);
int add(int a,int b);
}
public int add(int a,int b){
return LgetLib.INSTANCE.add(a,b);
}
public static void main(String[] args) {
TestSo ts = new TestSo();
int c = ts.add(10,20);
System.out.println("10+20="+c);
}
}
java 通过jna调用so文件,导出函数返回类型为接口类的要怎么调用
这个在网上有很多例子的。 char* outputData 参数对应 java中的应该是jstring或是jbyte[],本地代码中在返回前,生成java类型数据赋值给这个参数才可以。
关于javajna调用和JNA指令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。