Jimmy Chen

A Programmer

(原创) JNI编程指南与规范 第二章 刻意练习

第二章之刻意练习

请在Java中定义两个native方法,其中一个native方法打印你的姓名,另一个native方法打印你的住址。请使用动态注册和静态注册两种方法来完成这两个native方法的编写

静态注册

Java侧代码如下:

然后通过指令javac Information.java编译出Information.class,通过指令javah -jni Information获取到Information.h文件,这个.h文件中就包含需要完成的native方法。

创建Information_static.c文件,代码如下:

通过指令 cc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -I. -fPIC -shared Information_static.c -o libInformation.so 编译出.so库,最后通过指令java -Djava.library.path=. Information 运行该程序就能得到想要的结果了。

动态注册

首先,Java侧的代码不需要变动。

native侧的话,创建一个Information_dynamic.c文件,代码如下:

最后按照静态方法的编译和执行指令,编译运行即可,记住编译的时候将C文件名改为Information_dynamic.c文件就行了。

此文为博主原创文章,转载请注明出处

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注