金陵十三钗小说下载:JNA 实现Java调用C动态链接库
来源:百度文库 编辑:九乡新闻网 时间:2024/10/06 16:31:22
1、开发环境:
Java环境:JDK 1.6.0_18
2、C++代码
创建一个动态链接库项目JNALib,创建一个c++源文件clib.cpp,生成结果为libJNALib.dll
- #include
- #include
- using namespace std;
- extern "C"
- {
- typedef void (*OpenFunc)(const char*,int);
- OpenFunc openfunc = NULL;
- void init(OpenFunc func) {
- cout << "init called" <
- openfunc = func;
- }
- void test() {
- if (openfunc == NULL) {
- cout << "openfunc is NULL" << endl;
- }
- (*openfunc)("test", 0);
- }
- }
3、Java代码
创建一个Java项目JNADemo,创建一个包clibtest,创建以下java代码:
- package clibtest;
- import com.sun.jna.Callback;
- import com.sun.jna.Library;
- public interface CLib extends Library{
- public interface OpenFunc extends Callback {
- void invoke(String filename, int i);
- }
- void init(OpenFunc openfunc);
- void test();
- }
- package clibtest;
- import com.sun.jna.Native;
- public class hello {
- public static void main(String[] args) {
- // Loading dynamically the library
- CLib lib = (CLib) Native.loadLibrary("libJNALib", CLib.class);
- lib.init(new CLib.OpenFunc() {
- public void invoke(String filename, int i) {
- System.out.println("callback called.");
- System.out.println(filename);
- }
- });
- lib.test();
- }
- }
JNA 实现Java调用C动态链接库
动态链接库在VC调用
OpenURL 和DOI实现动态链接 - 图书馆
OpenURL 和DOI实现动态链接
java调用.net webservice1
java调用webservice
android wrapper C调用java api - 示韦BadSmile的日志 - 网易博客
JNI性能测试一—JNI调用C与Java调用java性能比较 - zgjxwl-----传说中晨雨的专栏 - CSDN博客
在java中利用动态编译实现eval
GCC静态链接与动态链接 - 小呆学JAVA的日志 - 网易博客
java笔记——值调用和引用调用
VC++动态链接库(DLL)编程88888
钩子函数与动态链接库
VC++动态链接库编程总结一
VC 动态链接库(DLL)编程深入浅出
Java 类之间的调用a
C#调用Java类的方法
python中调用c++(Boost
C与java通讯小结
zhouweifeng | ORACLE动态调用存储过程
怎样用EXCEL动态调用ACCESS数据
Windows 和 Unix 下动态链接库的区别
动态链接库dll,静态链接库lib, 导入库lib
linux下编程学习----- 远程过程调用(rpc) - shake863 - Java...