生产厂商:TeamDev产品类别:开发工具
选择 JNIWrapper 的原因
- 为您完成工作:无需创建原生库即可进行系统调用,也无需花费大量时间学习系统体系结构的基础知识。
- 为您节省大量时间和费用。
- 出色的文档,包含许多示例。
- 出色的技术支持。响应迅速的技术支持团队将在24小时内答复您的请求。要获得帮助,您可以选择不同的技术支持渠道:例如电子邮件、技术支持站点、论坛或高级的技术支持服务。欢迎您通过评估版技术支持地址与我们联系并提出初步问题。
高性能
JNIWrapper 可以处理 Java 和原生代码之间的交互所涉及的大量数据,而无需您进行任何调整。
可扩展的架构
您可以实施新的数据类型,或自定义现有的数据类型,从而完全控制参数的行为。请参阅《程序员指南》中的“结构和联合”来获取更多信息。另请参阅相关示例:联合样本,联合结构。
自定义搜索机制
除了用于查找和加载原生库的默认机制以外,JNIWrapper 还提供了一种自定义库加载的方法。同样,可以从 JAR 文件加载原生库。
自动内存管理
将自动释放 JNIWrapper 分配的所有无用资源。您可以将 JNIWrapper 变量视为可以被 Java 垃圾收集器回收的普通 Java 对象。此外,JNIWrapper 对象对于终结器(finalizer)而言是安全的:确保所有资源在终结期间都是可用的。
确保线程安全的并发函数调用
您可以从不同的 Java 线程同时执行所有原生的函数调用,而无需进行同步,就像调用简单的 Java 方法一样。请参阅《程序员指南》中的“使用多线程”来获取更多信息。
原生的函数调用
JNIWrapper 支持 stdcall 和 cdecl 调用约定以及多种 C/C++ 数据类型,包括结构、联合和指针。任何参数和返回类型以及两种调用约定都完全支持回调。请参阅《程序员指南》中的“调用原生函数”来获取更多信息。
捕获原生的错误