由于要作点图形处理的项目,须要在Java中调用dll库,因此开发的第一步是研究了一下Java Jni的使用方法。忽然发现Android Jni 使用跟这个好像(麻蛋,不就是同样的吗,可是Android中须要使用so动态连接库)。java
/** * @author Baokang */ public class JniDemo{ public native static void set(int i); public native static int get(); }
在cmd中执行javah javah com.bk.jnidemo.JniDemo,生成 com_bk_jnidemo_JniDemo.h 头文件ide
建立Win32项目,项目名字JniDemospa
其中jni.h在jdk的include目录下,jni_md.h在jdk的include\win32目录下3d
在项目中添加头文件目录下com_bk_jnidemo_JniDemo.h,#include <jni.h> 改成 #include "jni.h"blog
先修改配置管理器开发
而后生成64dll库get
注意64位dll在X64目录下,而后修改JniDemo.java以下cmd
1 package com.bk.jnidemo; 2 3 public class JniDemo { 4 static{ 5 System.loadLibrary("JniDemo"); 6 } 7 public native static void set(int i); 8 public native static int get(); 9 10 public static void main(String[] args) { 11 set(100); 12 System.out.println(get()); 13 14 } 15 }