原生開發工具包

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