2023-01-21 273
我在vb.net中创建了dll.
我如何在Java中使用其功能.
我在Google上搜索时发现了一些JNI,但没有得到它.
是否有任何简单的文档.
我建议 java native Access(jna) jni.假设您有一些功能的DLL,
例如
public interface NativeExample{
public int method1(String param1);
public boolean mehthod2();
}
现在以下是您加载dll的方式(假设其名称为nativelib.dll)
NativeExample nativeExample= (NativeExample) Native.loadLibrary(“NativeLib”,
NativeExample.class);
一旦拥有此功能,就可以通过Java方法从DLL调用该方法.
`nativeExample.method("test");`
`nativeExample.method2();`
有关Java和本机之间数据类型的映射,请参考上面的链接.
这是另外一个示例.
jni完全不会让您直接访问.NET,除非您在此工作很多.您可以构建自己的包装纸并使用C/C ++作为中间软件,但是对于小型项目,它永远不会获得回报.请记住,呼叫方法是一回事,但是通过适当类型,检索结果,订阅事件等的参数.
因此,我还建议检查第三方工具,这些工具为这种情况做好了准备.
首先检查这两个:
Javonet我建议所有小型和快速的项目,因为这是轻型解决方案,由于过程通信,它提供了非常高性能,并且为您提供了所有背景工作.您需要的只是调用” addReference(您的dll)”,然后使用反射式API调用任何方法.您可以调用任何方法,设置/获取字段和属性,获取结果,订阅事件或处理异常.
非常相似的方法JNBridge,它为流行的企业场景(例如云集成或WebSphere)提供了更多的额外人员/扩展名,但是如果您希望您希望在单独的机器上桥接Java和.NET,我建议这样做更大的项目.强大但更复杂,也更重.
双方都可以自由尝试,Javonet是免费的,可用于非商业和学术用法,因此请尝试,测试和选择最适合您的需求的方法.
好吧,有第三方工具/库可以帮助您将Java连接到.NET.如果您想自己执行此操作 – 意味着自己实现JNI包装器 – 实际上需要实现2组包装器.
jni将使您进入C/C ++,不允许直接访问.NET对象.到那时,您可以使用C/C ++包装器可以调用的另一个使用静态方法的包装器,一个.NET对象.由于未管理的C/C ++代码无法拥有.NET对象,因此它只能调用.NET类的静态方法.
以上所述是小编给大家介绍的如何在Java中使用.Net dll,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26219.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态