程序员人生 网站导航

如何使用Javah 生成C/C++头文件的误区 找不到 ‘XX.XXXX.XX.CLASSNAME’ 的类文件

栏目:服务器时间:2014-12-20 08:42:14

        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目录下了,使用指令

javah -classpath . XX.XXXX.XXX.CLASSNAME

        就能够了!!注意中间1个单独的小数点!然后你就可以得到你生成的.h 文件了!!


        




------分隔线----------------------------
------分隔线----------------------------

最新技术推荐