Microsoft Windows [版本 6.1.7600]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\toto>javah

用法:javah [选项] <类>

其中 [选项] 包括:

-help                 输出此帮助消息并退出

-classpath <路径>     用于装入类的路径

-bootclasspath <路径> 用于装入引导类的路径

-d <目录>             输出目录

-o <文件>             输出文件(只能使用 -d 或

-jni                  生成 JNI样式的头文件(默

-version              输出版本信息

-verbose              启用详细输出

-force                始终写入输出文件

使用全限定名称指定 <类>(例

如,java.lang.Object)。

C:\Users\toto>cd F:\android\TestNativeCode\bin

C:\Users\toto>F:

F:\android\TestNativeCode\bin>javah cn.itcast.TestNati

F:\android\TestNativeCode\bin>

一个例子:

package cn.itcast;

public class TestNative {
 /**
  * 通过jdk目录下的javah.exe工具生成c/c++的头文件
  *
  * 1、进入命令行。
  * 用法:javah [选项] <类>
     *    其中 [选项] 包括:

*   -help                 输出此帮助消息并退出
     *   -classpath <路径>     用于装入类的路径
     *  -bootclasspath <路径> 用于装入引导类的路径
     *  -d <目录>             输出目录
     *  -o <文件>             输出文件(只能使用 -d 或 -o 中的一个)
     *  -jni                  生成 JNI样式的头文件(默认)
     *  -version              输出版本信息
     *  -verbose              启用详细输出
     *  -force                始终写入输出文件
     * 
     *  2、找到TestNative.class文件,我的是存在:F:\android\TestNativeCode\bin\cn\itcast\TestNative.class
  *
  *  3、通过如下的:
  *  C:\Users\toto>cd F:\android\TestNativeCode\bin
     *
     *C:\Users\toto>F:
     *
     *F:\android\TestNativeCode\bin>javah cn.itcast.TestNative
  *通过这些命令就可以在F:\android\TestNativeCode\bin目录下生成一个cn_itcast_TestNative.h文件了,如下:。
  *
  ** DO NOT EDIT THIS FILE - it is machine generated *//*
  * #include <jni.h>
  * // Header for class cn_itcast_TestNative
  * 
  * #ifndef _Included_cn_itcast_TestNative
  * #define _Included_cn_itcast_TestNative
  * #ifdef __cplusplus
  * extern "C" {
  * #endif
  *
  * Class:     cn_itcast_TestNative
  * Method:    sayHello
  * Signature: ()V
  *Java_包名_方法名。
  *
  *JNIEXPORT void JNICALL Java_cn_itcast_TestNative_sayHello
  * (JNIEnv *, jobject);
  *
  *#ifdef __cplusplus
  * }
  *#endif
  * #endif*/

public native void sayHello();
 
 
 
 public static void main(String[] args) {
  
 }
}

第二个例子:

package democalldll;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2010</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class DemoCallDLLApp {

static{
    System.loadLibrary("test");
  }

private native int showMsgBox_native(String str);

public int showMsgBox(String str){
    return showMsgBox_native(str);
  }

public DemoCallDLLApp() {
  }

public static void main(String[] args) {
    DemoCallDLLApp demoCallDLLApp1 = new DemoCallDLLApp();
    demoCallDLLApp1.showMsgBox("Call showMsgBox_native Successfully!");
  }
}

JNI方面的笔记(未完待续)相关推荐

  1. TS学习笔记 ---未完待续....

    TS学习笔记 1 .ts文件与.tsx文件有什么区别 2.使用TS之前需要配置 3.TS特性 泛型和类型注解有什么区别? 3.什么是泛型参数? 4.函数.类.接口有什么区别? 4.1 一个class不 ...

  2. Java并发笔记-未完待续待详解

    为什么需要并行?– 业务要求– 性能并行计算还出于业务模型的需要– 并不是为了提高系统性能,而是确实在业务上需要多个执行单元.– 比如HTTP服务器,为每一个Socket连接新建一个处理线程– 让不同 ...

  3. pythonb超分辨成像_Papers | 超分辨 + 深度学习(未完待续)

    1. SRCNN 1.1. Contribution end-to-end深度学习应用在超分辨领域的开山之作(非 end-to-end 见 Story.3 ). 指出了超分辨方向上传统方法( spar ...

  4. 《今日简史》读书笔记(未完待续)

    <今日简史>读书笔记(未完待续) 这本书是尤瓦尔·赫拉利的简史三部曲的最后一本,前2本书是<未来简史>和<人类简史>.根据豆瓣上网友的评价,这本书是尤瓦尔·赫拉利写 ...

  5. Windows x64内核学习笔记(五)—— KPTI(未完待续)

    Windows x64内核学习笔记(五)-- KPTI(未完待续) KPTI 实验一:构造IDT后门并读取Cr3 参考资料 KPTI 描述:KPTI(Kernel page-table isolati ...

  6. 二叉树学习笔记(未完待续)

    摘要 二叉树学习笔记(未完待续). 博客 IT老兵驿站. 前言 昨天(2019-11-07)复习红黑树,发现红黑树和二叉树密不可分,所以这里再复习一下二叉树. 在大学的时候,这块我很认真地学习了一遍. ...

  7. 《图解 HTTP》读书笔记(未完待续)

    ARP 协议(Address Resolution Protocol)一种以解析地址的协议,根据通信双方的 IP 地址就可以查出对应的 MAC 地址. MAC( Media Access Contro ...

  8. Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)

    步骤 ssh user@ip-of-linux cd /var/www/ mkdir xiazai.rudon.cn cd xiazai.rudon.cn/ composer create-proje ...

  9. Spring Boot web开发(未完待续)

    addViewController请求 attention: 想要把网站的图标换掉就在static下放一个 favicon.ico 的图标图片即可 Spring MVC 5.0.5官方文档 stati ...

最新文章

  1. 首次创建maven项目的准备工作
  2. spring 依赖注入
  3. Linux下查看在线用户及用户进程
  4. 兼容微信小程序的流式网络请求库
  5. bzoj 3224 普通平衡树 vactor的妙用
  6. python3.6 django部署_Centos7 django+uwsgi+nginx+python3.6.8部署
  7. Cocos2d开发1:Xcode与TexturePacker的集成
  8. 报错Cannot determine embedded database driver class for database type NONE解决方法
  9. 多元线性回归的缺陷_轻松阅 | 多元线性回归的“参差不齐
  10. Linux基于升序链表的定时器
  11. 【日常水题-bfs】马的遍历
  12. jdk安装目录 usr java_Mac查看已安装的jdk版本和jdk安装目录
  13. 算法设计与分析第五章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  14. 父进程与子进程间相互发送信号
  15. Java----线程学习(多线程)
  16. EVB_MX+ TencentOS tiny物联网开发板首次使用记录路灯调试(1)
  17. 川普撞脸希拉里(基于 OpenCV 的面部特征交换)-2
  18. Qt在手动执行xxx.exe时报错:由于找不到Qt5xxx.dll,无法继续执行代码。重新安装程序可能解决此问题。
  19. uni-app 中对流文件的处理
  20. TheBrain 12:思维导图规则的改变者?

热门文章

  1. JavaScript实现计算π值算法(附完整源码)
  2. OpenCASCADE绘制测试线束:OCAF 命令之几何属性命令
  3. boost::variant2模块实现复制分配的测试程序
  4. boost::hana::compose用法的测试程序
  5. boost::format模块测试构造对象和基本解析
  6. ITK:创建一个向量
  7. VTK:图片之ImageSeparableConvolution
  8. VTK:Filtering之ConnectivityFilterDemo
  9. OpenCV提炼角点位置的实例(附完整代码)
  10. Qt Creator添加动态dynamics