• javah 命令小结


    按照网上抄来的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代码 复制代码 收藏代码

    1. package com.dlut.datasender.communication;  
    2. public class TestHello {  
    3. static {  
    4.         System.loadLibrary("TestHello");  
    5.     }  
    6. public static native void hello(String msg);  
    7. public static void main(String[] args) {  
    8.         hello("Hello,Kimm!");  
    9.     }  
    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代码 复制代码 收藏代码

    1. javac TestHello.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即可

  • 相关阅读:
    jquery+NHibernate3.3.3+MVC的分页效果
    An exception occurred during configuration of persistence layer.
    StringHelpers
    发送带有认证信息的HTTP请求并取回响应
    script的defer和async
    location.origin兼容
    写法导致的兼容性问题
    正则表达式应用收集
    列表数字对齐布局
    轮盘赌算法
  • 原文地址:https://www.cnblogs.com/zhang747725388/p/2255163.html
Copyright © 2020-2023  润新知