Java 中怎么能调用到dll中的函数呢?

关键是java中生的本地函数名參数和dll中的本地函数名參数一模一样。

这个程序是java中调用dll中的求和函数。

一,java代码部分操作

1.新建project

2.DllTest.java代码

package com.aizizai.calldll;public class DllTest {static {System.loadLibrary("hellodll");}public static native int sum(int a, int b);public static void main(String[] args) {System.out.println("sum(2,5) = " + sum(2, 5));}}

3. 生成头文件

Java调用dll測试\src>javac com/aizizai/calldll/DllTest.java
Java调用dll測试\src>javah com.aizizai.calldll.DllTest

二,VC利用前面的头文件生成dll。本文使用的是vs2010。

1. 创建项目

新建项目--> vc++ --> win32项目 --> 命名为hellodll -->应用程序类型:dll -->ok。

2. 加入头文件

a. 把

/jdk/include/jni.h

/jdk/include/win32/jawt_md.h

/jdk/include/win32/jni_md.h

拷到项目文件夹下或者Vs的include文件夹下。

b. stdafx.h中加入

#include "com_aizizai_calldll_DllTest.h"

3. 在源文件里加入函数实现

// hellodll.cpp : 定义 DLL 应用程序的导出函数。
//#include "stdafx.h"JNIEXPORT jint JNICALL Java_com_aizizai_calldll_DllTest_sum(JNIEnv *env, jclass ss, jint a, jint b){return a+b;
}

4. 生成dll

生成 ---> 生成dll。

就可以在项目的Debug文件夹下看到。hellodll.dll文件

三,使用

把dll文件拷到 c:\windows文件夹下,执行java程序。ok。

程序下载地址:http://download.csdn.net/detail/u012587637/8065041

Java 调用Dll相关推荐

  1. 关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序。

    关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. 参考文章: (1)关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. (2)https://www. ...

  2. 关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat

    关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat 参考文章: (1)关于j ...

  3. java dll 调用方法_关于Java调用dll的方法 | 学步园

    Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C   写好的DLL库时,由于基本数据类型不同.使用字节 ...

  4. java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定 | 学步园

    终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的时候差点就晕倒在里面了,不知道什么原因,抵抗力这么差,明天放假,要在家好好休息,今天早上碰到欢欢了,她说给我做好吃的,我愿意吃她做的糖 ...

  5. java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定

    终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的时候差点就晕倒在里面了,不知道什么原因,抵抗力这么差,明天放假,要在家好好休息,今天早上碰到欢欢了,她说给我做好吃的,我愿意吃她做的糖 ...

  6. java 多线程 调用 dll 出错,JAVA调用DLL异常,请高手寻找异常原因,给出解决方法...

    当前位置:我的异常网» J2SE » JAVA调用DLL异常,请高手寻找异常原因,给出解决方法 JAVA调用DLL异常,请高手寻找异常原因,给出解决方法 www.myexceptions.net  网 ...

  7. Java 调用 C++ (Java 调用 dll)康哥手把手教你

    摘要: 本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4979243.html 因为要做点图形处理的项目,需要在Java中调用dll库,所以开发的第一步是 ...

  8. 关于JAVA调用dll的学习总结

    首先是背景: 1.程序猿小明要使用Java程序来调用IC读卡器,由于Java没有相关方法直接调用读卡器,目前只有C或C++语言能调用读卡器的驱动来控制读卡器,因此得先使用C或C++写完操作函数,封装成 ...

  9. java 调用 dll 乱码_java调用c++ dll出现中文乱码

    最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...

最新文章

  1. vi/vim的选中/复制/粘贴命令
  2. 初次遇见NLP:从词向量到BERT
  3. ui设计现状与意义_学UI设计到底好不好?
  4. 田志刚:企业知识管理的知识传播
  5. Python 第三方模块之 NumPy - 科学计算
  6. python php multiprocessing,Python多进程并发(multiprocessing)用法实例详解
  7. Python类私有方法的陷阱
  8. 【随机过程】随机过程之更新过程(2)
  9. python中for语句的使用_对Python中for复合语句的使用示例讲解
  10. java nio 如何使用_Java NIO 系列教程(转)
  11. 英语语料库与英文写作
  12. Web前端学习路线笔记(六)html5
  13. 计算机怎么设置加密文件,电脑文件夹怎么设置密码 电脑文件夹加密的3种方法...
  14. 将蓝牙rssi(信号强度)转换成距离
  15. 关于防止游戏行为检测的几点建议技巧
  16. SpellBERT:预训练模型与中文拼写纠错
  17. 药物与生物大分子的相互关系(分子与药物以及人体关系)
  18. DISTINCT 多字段去重复
  19. 金融科技业务的云端服务
  20. C语言中结构体指针出现重定义,C语言结构体指针中包含结构体指针

热门文章

  1. netbeans快捷键
  2. 开发工具使用技巧和插件大总结
  3. SpringSecurity权限控制之异常处理方式三
  4. 初识ES-es与mysql的概念对比
  5. Nginx的location指令
  6. 第十章 某些算法的分治法解释
  7. Redis中的Cluster高可用和主从切换原理
  8. toString和newString的原理
  9. 下单问题分析及解决方式
  10. 区域数据导入功能(在服务端接收上传文件)