摘要:
http://blog.csdn.net/linweig 阅读全文
摘要:
Android 开发手记一 ---- NDK 编程实例 在 Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程序或库,就需要使用 NDK 来实现。 NDK 是 Native Development Kit 的简称。它是一个工具集,集成了 Android 的交叉编译环境,并提供了一套比较方便的 Makefile ,可以帮助开发者快速开发 C 或是 C++ 的动态库,并自动的将 so 和 java 程序打包成 apk ,在 Android 上运行。 好,闲话少说,我们以一个简单的实例,来讲解 NDK 的应用。 一 开发环境的搭建 这一步虽然没什 阅读全文
摘要:
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Machine)来执行。VM在Android平台里,扮演很重要的角色。 此外,在执行Java类的过程中,如果Java. 阅读全文
摘要:
public class testdll { static { System.loadLibrary("goodluck"); } public native static int get(); public native static void set(int i); public static void main(String[] args) { testdll test = new testdll(); test.set(10); System.out.println(test.get()); } } 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其 阅读全文
摘要:
大家都知道,在windows系统中有非常多的动态链接库(以.dll为后缀的文件,dll即dynamic link library)。这种动态链接库,和静态函数库不同,他里面的函数并不是执行程式本身的一部分,而是根据执行程式需要按需装入,同时其执行代码可在多个执行程式间共享,节省了空间,提高了效率,具有非常高的灵活性,得到越来越多程式员和用户的青睐。那么,在linux系统中有无这样的函数库呢? 答案是肯定的,linux的动态链接库不仅有,而且为数不少。在/lib目录下,就有许多以.so作后缀的文件,这就是linux系统应用的动态链接库,只不过和windows叫法不同,他叫so,即shared . 阅读全文