PS:最近在用jni,1會寫java1會寫c++的感覺真讓人頭疼。然后在使用javah的時候,遇到了1點點小問題,分享給大家。
javah 是1個很棒的工具,可以通過獲得.class 文件,而生成對應的C++文件,其中包括java 代碼中的所有本地方法的JNI 存根,也就是定義成native 的那些方法。如果你正在使用1個類的JNI 存根,而且你已把這個類定義為包的1部份,那末必須要完全限定類的命名。感覺javah好像1個反編譯工具1樣。恩,就是這樣。
舉例說明,我在用eclipse編寫1個java文件,隨后eclipse編譯生成1個.class文件,在bin 目錄下,因而我果斷進入我的文件夾中,XX/XXXX/XXX 里面有我的 .class文件,因而我依照指令,javah -jni XX.XXXX.XX.類名,結果他提示我找不到‘XX.XXXX.XX.類名’的類文件。:
因而退出到 bin目錄下,重新輸入那個指令,得到了一樣的答案!
愁悶怎樣樣才能解決,后來找到答案,首先要保證目錄是 java包的上1級路徑,如果是eclipse編譯的話,那末就是在bin目錄下了,使用指令