有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在本机库中查找公开的方法以通过JNA/JNI进行访问?

嗨:我想使用JNA访问本机库中的一些函数

1)如何内省本机库文件(.so文件,例如)以查看可用的方法

2)中可访问的方法之间是否存在一一映射。那么文件和编译这些文件的C代码呢

3)JNA是否需要在所有情况下工作,其中唯一的java/本机互操作涉及从java调用本机库(我假设这是JNA的经典用例)——或者有时需要JNI


共 (1) 个答案

  1. # 1 楼答案

    1)windows上的depends.exeobjdumpnm,等等,关于*nix变体

    2)大多数共享库都是为C型链接设计的。这通常意味着您可以在库中查找与符号对应的地址,但类型(变量、常量或函数)和签名信息(函数)通常不会嵌入库中

    3)JNA使用极少数通用的JNI操作来执行其所有魔法:打开共享库、查找符号、读/写内存、调用函数。很少有情况下需要使用JNI而不是JNA,至少在处理带有C链接的库时是这样