1. 程式人生 > >Java 呼叫 C/C++ 之 JNA 系列實戰篇 —— 輸入wchar_t* (二)

Java 呼叫 C/C++ 之 JNA 系列實戰篇 —— 輸入wchar_t* (二)

一、 工作環境

            1. windows (64位), JDK (64位),dll檔案 (64位)

        2. Linux (64位),      JDK (64位),so檔案 (64位)

            3.

二、 實際操作

          1. 在cf.h標頭檔案有如下申明:採用C語言形式介面函式

extern "C"
{
	/*
	功能 :		初始化
	輸入引數	name	引擎名稱	
	*/
	Public int CreateInst(const wchar_t* name);
}
       2. Java呼叫程式碼:介面CFJna.java
package cn.jna.test;


import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.WString;

public interface CFJna extends Library {

	//載入動態資源庫
	CFJna library = (CFJna) Native.loadLibrary("TestCF", CFJna.class);
	
	//定義要呼叫的方法,與cf.h標頭檔案中定義的函式名一樣
	int CreateInst(WString name);
}
       3. 測試呼叫:CFJnaTest.java
package cn.jna.test;

import com.sun.jna.WString;

public class CFJnaTest {

	public static void main(String[] args) {

		int ci = CFJna.library.CreateInst(new WString("cfEnginer"));
		System.out.println("ci:"+ci);
	}

}

 收尾 請繼續關注,或關注我的新浪微博:微博Abel