在linux、mac和windows中使用JNI
Posted
技术标签:
【中文标题】在linux、mac和windows中使用JNI【英文标题】:Using JNI in linux, mac and windows 【发布时间】:2012-04-09 06:06:14 【问题描述】:我有一个完全用 cpp 编写的应用程序,现在我需要在 java 中迁移它,但我不需要将处理逻辑从 cpp 转换为 java,所以我决定使用 JNI。应用必须在linux、mac和windows环境下运行。
但我发现对于 windows,我们需要为 jni 指定 .dll 文件,对于 linux .so 文件,我不知道对于 mac。
现在我的环境是 windows 7。
所以我的问题是:
我能否编写应用程序,使我需要为所有三个平台提供任何 .dll、.so 文件?
如何做到这一点?有什么指导方针吗?
【问题讨论】:
【参考方案1】:在您的 java 类中,您将拥有
System.loadLibrary("foo")
然后你只需要在每个系统上编译一个库,例如Linux 的 libfoo.so 和 Windows 的 foo.dll
【讨论】:
以上是关于在linux、mac和windows中使用JNI的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows/Mac/Linux 中创建隐藏文件?
使用 Python 在 Linux、Windows 和 Mac 上列出磁盘驱动器的跨平台方法?
如何使用 FLTK 在 Windows、Mac OS X 和 Linux 中使窗口透明?
OpenGL ES 2.0 适用于 Windows 和 Linux,但不适用于 Mac