六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

java-h用法

[复制链接]

升级  22.67%

20

主题

20

主题

20

主题

秀才

Rank: 2

积分
84
 楼主| 发表于 2013-1-26 13:55:56 | 显示全部楼层 |阅读模式
按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.html) 中看到:“Javah 获取您的 Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把这个类定义为包的一部分,那么您 必须 指定完全限定的类名。”

现在总结如下:

TestHello.java所在的的目录如下:

E:\rcpworkspace\com.dlut.datasender\test\com\dlut\datasender\communication

TestHello.java
Java代码  收藏代码

    package  com.dlut.datasender.communication;  
      
    public   class  TestHello {  
      
        static  {  
            System.loadLibrary("TestHello" );  
        }  
      
        public   static   native   void  hello(String msg);  
      
        public   static   void  main(String[] args) {  
            hello("Hello,Kimm!" );  
        }  
    }  

1.运行cmd命令,cd到TestHello.java所在的目录下面,输入:
Java代码  收藏代码

    javac TestHello.java   

没有出错的话会在当前目录(E:\rcpworkspace\com.dlut.datasender\test\com\dlut\datasender\communication)下面生成TestHello.class文件。

2.cd到E:\rcpworkspace\com.dlut.datasender\test\(source folder根目录)

    输入: set classpath=E:\rcpworkspace\com.dlut.datasender\test 回车

3.再输入:javah -jni com.dlut.datasender.communication.TestHello 回车

这时候在E:\rcpworkspace\com.dlut.datasender\test下面会生成一名为com_dlut_datasender_communication_TestHello.h的文件

4.重命名com_dlut_datasender_communication_TestHello.h为TestHello.h即可
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表