2020/5/28 研一
jni
如果有一段C语言的程序需要被java调用,则需要使用jni方法。通过jni调用可以生成最终可以被java调用的so库。具体so是怎么通过电脑生成的我不得而知,不过稍微掌握了原理。
当C语言写好之后就需要写一段".java"后缀的java文件,调用javah程序加载该文件生成jni.h文件,然后通过jni.h文件写对应的jni.c文件,该文件应当包含需要加载的本地语言的程序。最终编写makefile文件通过make指令编译所有的文件生成so库,即可以在用java写程序的时候调用通过C编写的本地程序,此时除了so文件外,其他的文件都可以删除了。
调用逻辑如下:
java编程——(调用)——>.so文件
C程序——(通过.jni文件生成)——>.so文件
学习经验
遇到有点困难的文章难免有畏惧心理,此时仍要仔细一句一句看下去,不要粗略地扫来扫去,最终什么都看不下去,仍旧需要从头看。不过对于新的东西可以先仔细浏览目录和文章标题,脑海里构建大概结构,然后再仔细看。
- 带着问题看比脑海空空地看有效得多。
- 看的时候需要带纸笔。
- 遇到一时半会看不懂的问题及时跳过,就像高考做题时及时掠过难题快速拿分一样。