【问题标题】:How can I use Linux shared libraries in Java?如何在 Java 中使用 Linux 共享库?
【发布时间】:2012-11-18 18:49:15
【问题描述】:

有没有办法从我的 Java 代码中调用 so 库中的函数?一般情况下,Java程序中是否可以使用Linuxso库?

【问题讨论】:

    标签: java linux shared-libraries


    【解决方案1】:
    【解决方案2】:

    您不能在 Java 代码中使用任意的 .so 库。您可以使用 JNI 编写原生代码的包装器以从 Java 访问。

    但是,请注意,这样做会抵消使用 Java 的许多优势。您的代码和部署系统现在变得非常脆弱,并且受到许多类型的错误的影响,这些错误在 Java 中是不会发生的。在使用本机代码之前,我会非常努力地找到一个纯 Java 解决方案。

    【讨论】:

    • 我同意 100%。但是在很多情况下,您需要访问需要本地库的硬件。我很难做到这一点。不幸的是,我已经花了数周时间寻找解决方案(本机库似乎没有加载,生病了)
    【解决方案3】:

    除了JNI之外,从java访问库的另一种方式是JNA

    我发现在很多情况下它比 JNI 更容易使用,但这只是我个人的看法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多