JNA使用入门

打印 上一主题 下一主题

主题 838|帖子 838|积分 2514

JNA即Java Native Access。
官方文档

使用样例

准备Java代码文件,内容泉源于Getting Started,如下:
  1. import com.sun.jna.Library;
  2. import com.sun.jna.Native;
  3. import com.sun.jna.Platform;
  4. /** Simple example of JNA interface mapping and usage. */
  5. public class HelloWorld {
  6.     // This is the standard, stable way of mapping, which supports extensive
  7.     // customization and mapping of Java to native types.
  8.     public interface CLibrary extends Library {
  9.         CLibrary INSTANCE = (CLibrary)
  10.             Native.load((Platform.isWindows() ? "msvcrt" : "c"),
  11.                                 CLibrary.class);
  12.         void printf(String format, Object... args);
  13.     }
  14.     public static void main(String[] args) {
  15.         CLibrary.INSTANCE.printf("Hello, World\n");
  16.         for (int i=0;i < args.length;i++) {
  17.             CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]);
  18.         }
  19.     }
  20. }
复制代码
修改项目的pom.xml,增加如下依赖:
  1. <dependency>
  2.     <groupId>net.java.dev.jna</groupId>
  3.     <artifactId>jna</artifactId>
  4.     <version>5.14.0</version>
  5. </dependency>
复制代码
等待依赖下载完毕,构建完毕,运行前述样例代码。
从源码构建JNA


  • Setting up a Windows Development Environment
    在Windows环境实行构建,实行如下命令:
    1. cd C:\Code\jna
    2. set JAVA_HOME=C:\Tools\jdk
    3. set ANT_HOME=C:\Tools\ant
    4. set CYGWIN_HOME=C:\Tools\cygwin64
    5. set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%CYGWIN_HOME%\bin;%PATH%
    6. "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
    7. ant
    复制代码
    在Linux环境实行构建,实行如下命令:
    1. cd /path/to/jna_code
    2. export JAVA_HOME=/path/to/jdk
    3. export ANT_HOME=/path/to/ant
    4. export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
    5. ant
    复制代码
  • Android Development Environment
    在Linux环境实行构建,实行如下命令:
    1. cd /path/to/jna_code
    2. export JAVA_HOME=/path/to/jdk
    3. export ANT_HOME=/path/to/ant
    4. export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
    5. export NDK_PLATFORM=/path/to/android-ndk-r12b/platforms/android-21
    6. export PATH=$NDK_PLATFORM/../../toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/:$PATH
    7. ant -Dos.prefix=android-aarch64
    复制代码
参考资料


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表