Chinaunix首页 | 论坛 | 博客
  • 博客访问: 353663
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: C/C++

2014-02-24 18:44:08

1,编写调用端代码(文件名:DllCaller.java)


  1. package com.whut.qinchao.jni;

  2. //qinchao 2013/12/31

  3. public class DllCaller {

  4. static {

  5. /**

  6.  * 加载需要的类库(因为DllCaller.dll还需要依赖本地的类库,所以需要在它之前加载被依赖库)

  7.  * 建议存放项目根目录,不然无法加载,或者通过不同类加载器加载导致无法正常识别.

  8.  */

  9. System.loadLibrary("msvcp100d");//msvcp100d.dll

  10. System.loadLibrary("msvcr100d");//msvcr100d.dll

  11. System.loadLibrary("DllCaller");//DllCaller.dll

  12. }

  13. public native static int VrpJniCaller(boolean line,boolean wnd,String path);

  14. public static void main(String[] args) {

  15. String InputPath = "F:\\WebVrpData";

  16. DllCaller.VrpJniCaller(false,false,InputPath);

  17. }
  18. }


2,执行如下命令生成.h文件:

javac .\com\whut\qinchao\jni\DllCaller.java;

javah -jni com.whut.qinchao.jni.DllCaller会生成一个com_whut_qinchao_jni_DllCaller.h文件(将com_whut_qinchao_jni_DllCaller.h中#include改成#include“jni”)

 

3,VS2010 创建动态连接库:

3.1,新建项目->Win32控制台程序->DLL(勾选“空工程”)。

3.2,新建*.cpp文件,对com_whut_qinchao_jni_DllCaller.h中的方法    (JNIEXPORT jint JNICALL Java_com_whut_qinchao_jni_DllCaller_VrpJniCaller(JNIEnv *, jclass, jboolean, jboolean, jstring);)进行实现。

3.3,将jni.h和jni_md.h文件拷贝到当前目录。

 

阅读(3628) | 评论(0) | 转发(0) |
0

上一篇:第八章

下一篇:奇怪的死循环

给主人留下些什么吧!~~