為實現JNI固有方法,最簡單的方法就是在一個Java類裡編寫固有方法的原型,編譯那個類,再通過javah運行.class文件。
但假若我們已有一個大型的、早已存在的代碼庫,而且想從Java裡調用它們,此時又該如何是好呢?
不可將DLL中的所有函數更名,使其符合JNI命名規則,這種方案是不可行的。
最好的方法是在原來的代碼庫“外面”寫一個封裝DLL。Java代碼會調用新DLL裡的函數,後者再調用原始的DLL函數。
這個方法並非僅僅是一種解決方案;大多數情況下,我們甚至必須這樣做,因為必須面向對象引用調用JNI函數,否則無法使用它們。