由於要作點圖形處理的項目,須要在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 }