社区
Java
帖子详情
如何利用java调用dll文件
westdevils
2003-09-25 11:45:07
如何利用java调用dll文件
要求有具体说明!100分不够再加!
但一定要清楚、详细!
...全文
150
14
打赏
收藏
如何利用java调用dll文件
如何利用java调用dll文件 要求有具体说明!100分不够再加! 但一定要清楚、详细!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
holmesII
2004-03-23
打赏
举报
回复
我也想要
albert.holmes@163.com
THK
yandg
2004-02-26
打赏
举报
回复
yandg@126.com
谢谢!!
dutzhp
2004-02-26
打赏
举报
回复
大虾,我也想要. miszhp@163.com
ifsheiscrying
2004-02-25
打赏
举报
回复
zealot2002@sohu.com
Shrewdcat
2004-02-23
打赏
举报
回复
shrewdcat@163.com
Shrewdcat
2004-02-23
打赏
举报
回复
代码贴出来资源共享好了,发具体人太麻烦了吧?
yandg
2004-02-23
打赏
举报
回复
可否也来一份,谢谢
yandg@126.com
you7246mk
2004-02-23
打赏
举报
回复
我也想要一份
you7246mk@vip.sina.com
ks99017129
2004-02-03
打赏
举报
回复
ks99017129@163.com
谢谢
Yujlyjl
2004-02-03
打赏
举报
回复
iamluodong(嗨) 可否给我一份
liaoyang_yjl@163.com
谢谢
zagzag
2003-09-30
打赏
举报
回复
zag928@163.com
iamluodong
2003-09-30
打赏
举报
回复
调用ActivX终极解决方案:
使用javaComBridge,它就是在java和Com中间搭了一个桥梁.非常的好使,
我前两天用它完成了全文索引(Index serveice,Ado.recordset,ado.Connection)
你要的话留一个mail.
shagan
2003-09-25
打赏
举报
回复
一、生成一个Java 类
---- 里面包含一些native的函数,这些函数就是将在C中要实现的。源程序如下:
import Java.lang.*;
public class JavaCallC
{
public JavaCallC ()
{
System.loadLibrary(“JavaCallC”); //载入系统动态库
}
//以下两个函数将在C语言中实现
//传入参数为string类型,返回int型
public native int StrInIntOut (string_ str);
//传入参数为int类型,返回string型
public native String IntInStrOut (int_ iIndex);
}
----关于参数转换,int和string是最常用的两种类型,本文将在下面详细说明。其他类型与此相似,从略。
二、编译Java源文件,生成C语言头文件
----编译Javac JavaCallC.Java, 生成JavaCallC.class;生成头文件Javah JavaCallC,生成JavaCallC.h。
----生成的头文件如下:
#include < jni.h >
#ifndef_Included_pwdChecker
#define _Included_pwdChecker
#ifdef _cplusplus
extern “C”{
#endif
JNIEXPORT jint JNICALL_ Java_JavaCallC_StrInIntOut
(JNIEnv *,jobject,jstring);
JNIEXPORT jstring JNICALL_ Java_JavaCallC_IntInStrOut
(JNIEnv *,jobject,jint);
----较早版本中生成方法不太一样,要分两步,以上面的Java文件为例,首先执行Javah JavaCallC,生成JavaCallC.h文件;然后执行Javah -stubs JavaCallC,生成JavaCallC.c文件。
三、创建动态库
----首先创建一个空的动态连接库工程文件;然后创建JavaCallC.c文件,并将其加入工程。文件主要内容如下:
#include < jni.h >
JNIEXPORT jint JNICALL_ Java_
JavaCallC_StrInIntOut(JNIEnv*jenv,
jobject_ jobj,jstring jstr)
{
const char *theStr;
//得到Java的string类中
//所包含的字符串指针
theStr=(*jenv)- >Get_
StringUTFChars(jenv,jstr,0);
return 1234;
}
JNIEXPORT jstring JNICALL_ Java_JavaCallC_
IntInStrOut(JNIEnv*jenv,jobject_ jobj,
jint iCount)
{
char cpText [] =“Java call c test”;
long 1GetInt = iCount;
//生成string
return (*jenv)- >NewStringUTF(jenv, cpText);
}
Java中的int型数据是32位的,在Windows中要用long型数据表示;关于方法GetStringUTFChars和NewStringUTF所涉及到的内存空间不需要释放,使用完后Java会释放它们;C程序中不必包含JavaCallC.h文件,但函数头必须和头文件中的保持一致;头文件jni.h保存在Java系统目录下的include中,把该目录和该目录下的Win32目录加入include路径列表中去。
----编译完成后,将动态库文件拷贝到系统path指定的路径中,就可以像使用其他Java类一样使用这个JavaCallC类了。
cxyPioneer
2003-09-25
打赏
举报
回复
很想知道
java
如何
利用
JNative
调用
dll
文件
本文详细介绍了如何使用
Java
调用
由C、VB、Delphi等语言编写的
DLL
文件
中的方法,包括准备工作、步骤说明及示例代码解析。
Java
:
利用
jna
调用
dll
文件
的方法
本文介绍了如何在pom
文件
中添加依赖,并通过
Java
Native Access (JNA) 实现对本地
DLL
文件
的
调用
。具体步骤包括配置Maven依赖、放置
DLL
文件
、使用JNA加载
DLL
及
调用
其中的方法。
java
c
dll
文件
_
java
通过jni
调用
C语言
文件
方法
利用
cl命令生成
dll
文件
本文介绍如何通过
Java
Native Interface (JNI)
调用
本地C语言方法,并提供了一个具体的例子,包括C代码的编写、编译链接成
DLL
文件
的过程以及解决常见错误的方法。
ikvm
java
转换成
dll
_
利用
IKVM.NET将
Java
jar包转换成可供C#
调用
的
dll
文件
本文介绍如何使用C#
调用
C++的
DLL
,并通过IKVM.NET将
JAVA
方法转换为C#可直接
调用
的
DLL
,解决了
JAVA
与C#间的数据类型不一致问题。
利用
jna
调用
使用C#的
dll
文件
本文介绍了如何在
Java
项目中
利用
JNA
调用
C#生成的
DLL
文件
。由于直接
调用
C#
DLL
存在困难,作者采取了先用C++封装C#
DLL
,然后通过JNA
调用
封装后的C++
DLL
的方法。详细步骤包括创建C#类库项目,设置COM可见性,添加客户
DLL
引用,生成C#
DLL
,接着创建C++项目,引入C#
DLL
,编写C++代码进行封装,最后在
Java
中使用JNA
调用
新生成的C++
DLL
。注意,C#
DLL
需要放在JDK的bin目录下以避免加载错误。
Java
51,407
社区成员
86,108
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章