原生開發工具包

原生開發工具包(英語: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).