原生开发工具包

原生开发工具包(英語:native development kit,简称NDK)是一种基于原生程序接口软件开发工具。通过此工具开发的程序直接以本地语言运行,而非虚拟机。因此只有java等基于虚拟机运行的语言的程序才会有原生开发工具包。

优势

由于基于虚拟机的语言在运行上比基于C语言c++的效率低,因此通过NDK编译的原生程序不仅可以在特定的环境下工作,且能维持运行的高效率。并且通常只要硬件允许,NDK可以兼容任何C语言的库,因此在功能上弥补了一些SDK开发的不足。

劣势

虽然NDK的程序运行效率更高,但既然软件本身使用虚拟机语言开发一定在开发效率上有优势。因此相对而言在NDK上开发程序的难度比SDK上要高。

原理

基于java的软件NDK通过JNI进行调度,由于java语言支持调用C/C++动态链接库,因此可以令java 的程序执行部分C语言代码,这为NDK的使用提供了可能。

举例

常见的原生开发工具包有NDK[1]webOS[2]

参见

  1. ^ Android NDK. [2011-03-28]. (原始内容存档于2013-08-19). 
  2. ^ Palm Pre and WebOS Get Native Gaming. Slashdot. 2010-01-04 [2011-07-30]. (原始内容存档于2019-12-21).