Mac OS X中的JNI调用和实现
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 网上给出的在Windows和Linux操作系统下的JNI编程教程很多,其实无论在哪个系统中都是相似的步骤。总结如下: 编写Java程序文件,要使用调用本地库的类需在static初始化块内使用System.loadLibrary("库名")方法加载。 编译该Java类获得.class文件,并且使用javah -jni 类名获取“类名.h”头文件。 包含该头文件并实现头文件中声明的方法。 编译并生成本地库文件。 将该库文件放置于java.library.path路径(可以通过System.getProperties().get(" java.library.path ")查看该路径)下,即可正常使用该Java类。 唯一不同的处在于本地库文件的编译方式不同。 Windows中,一般使用VisualStudio IDE生成"库名.dll"动态链接库文件。(注意:库文件的命名方式及其重要!) Linux中使用gcc进行编译。一般要使用-I选项包含$JAVA_HOME/include和$JAVA_HOME/include/linux,并使用-fPIC -shared -o lib库名.so生成动态链接库文件。 而在Mac OS X中,采用和Linux和有相似的做法。但是我尝试后发现,无论我将该库文件放置于何处