Java中JNA调用

Java调用类: 
 

package com.kingsoft.jna02;

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

public class TestDll1Service {
	public interface TestDll01 extends Library{
		TestDll01 instance = (TestDll01)Native.loadLibrary("TestDll01", TestDll01.class);
		
		public void say();
	}
	
	public TestDll1Service(){
		;
	}
	
	public static void main(String[] args) {
		TestDll01.instance.say();
	}
}

本地C头文件

#ifndef Testdll01_H_INCLUDED
#define Testdll01_H_INCLUDED

#include <windows.h>
#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT __declspec(dllimport)
#endif

void DLL_EXPORT say();

#endif // Testdll01_H_INCLUDED
本地C源文件

#include "TestDll01.h"

#include <stdio.h>
#include <stdlib.h>

void DLL_EXPORT say()
{
    printf("I'm a dll program");
}

然后将C文件编译成dll文件,将dll文件放入本地path目录下就可以喽!

C项目源文件可以在此下载:点击打开链接

如果你是用的也是mingw编译器,请将此文件下载后和C项目编译的dll文件放入同一个目录内即可:点击打开链接

Java项目文件可以再次下载:点击打开链接



你可能感兴趣的:(Java中JNA调用)