1.在java上面,public native void +方法名(""); 2.然後載入你需要的底層so文件system.loadLibrary("so文件名不能加尾碼") 3.然後在你需要調用native方法的時候,直接當做普通的方法調用 接下來就是在底層C或者C++上面的實現的 1.找到你項目
1.在java上面,public native void +方法名("");
2.然後載入你需要的底層so文件system.loadLibrary("so文件名不能加尾碼")
3.然後在你需要調用native方法的時候,直接當做普通的方法調用
接下來就是在底層C或者C++上面的實現的
1.找到你項目所在的目錄,打開cmd進入你項目所在的目錄
2.javac -d .加你native所在類的類名.java
2.javah +類名生成頭文件
3然後把頭文件也就是.h文件粘貼到你C實現代碼所在的目錄上面
4然後在你的C文件上面引入頭文件#include "文件名.h"
5然後要引入C:\Program Files (x86)\Java\jdk1.6.0_10\include的jni.h文件
和C:\Program Files (x86)\Java\jdk1.6.0_10\include\win32的jni_md.h文件
打開jni.h看看。如果發現裡面已經引入的jni_md.h那就在C上面可以不用引入的
6然後在引入系統的輸出#include <stdio.h> 註意尖括弧代表系統的目錄,雙引號代表當前目錄
7然後把.h上面需要實現的C代碼方法原封不動的拷貝到C上面,把結尾的分號改為大括弧,然後在裡面寫需要實現的邏輯
8然後開始編譯ctrl+shift+d
9然後去C代碼編譯的目錄找到你所生產的.c文件,然後把它拷貝到\Program Files (x86)\Java\jdk1.6.0_10\bin上面
10需要註意的是你在java上面引用的so文件名必須要跟你生成的so文件名相同