原生开发工具包

来自Local Chinese Wikipedia
(重定向自NDK
跳转到导航 跳转到搜索

package.lua第80行Lua错误:module 'Module:Crc32lua' not found 原生开发工具包Template:Langx,简称NDK)是一种基于原生程序接口软件开发工具。通过此工具开发的程序直接以本地语言运行,而非虚拟机。因此只有java等基于虚拟机运行的语言的程序才会有原生开发工具包。

优势[编辑]

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

劣势[编辑]

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

原理[编辑]

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

举例[编辑]

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

参见[编辑]

  1. 脚本错误:没有“citation/CS1”这个模块。
  2. 脚本错误:没有“citation/CS1”这个模块。


脚本错误:没有“Asbox”这个模块。