首页>>后端>>java->Java代码调用dll,java代码调用sh文件

Java代码调用dll,java代码调用sh文件

时间:2023-12-16 本站 点击:0

用Java怎么调用C语言已经编写好的DLL?

在JAVA程序中,首先需要在类中声明所调用的库名称,如下:static { System.loadLibrary(“goodluck”);} 在这里,库的扩展名字可以不用写出来,究竟是DLL还是SO,由系统自己判断。

生成C的头文件 编辑Main.java public class Main { public native static int getStrNum(byte str[], int strLen); } 生成头文件 按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。

第一,jni方式调用c接口。通过将c语言接口封装为jni的方式直接供java语言调用,这个可以说是最惯用的方式。第二,jna方式调用c接口。jna也是其中一种调用c接口的方式。使用时可以加载动态库.dll或.so,然后调用库中的接口。

具体调用步骤如下:首先创建Java文件 HelloJni.java ,并创建native方法。编译Java文件并生成java头文件。创建C语言文件,HelloWorld.c。生成动态链接库文件 libhello.so。设置动态链接库文件的目录。

一般那种c#的dll是java不能直接调用的,但C\C++可以,你可以使用JNI。

现在我有一个DLL文件,我想在JAVA中调用DLL文件中的方法,请问如何实现...

1、对于已生成的.h头文件,C/C++所需要做的,就是把它的各个方法具体的实现。然后编译连接成库文件即可。再把库文件拷贝到JAVA程序的路径下面,就可以用JAVA调用C/C++所实现的功能了。接上例子。

2、总体说明:实现一个函数,传入整形数i,返回值i*i,这个函数做在DLL中,java将通过JNI调用这个函数,传入一个参数,得到返回值。确定DLL的名称为calldll.dll,函数shanfei(int i)。

3、下面这个是文件:写文件名的时候把前面的lib去掉,把后缀也去掉。这个SO文件是linux中的,dll是windows中的,应该是一样的,这个是我原来写过的代码。照着上面的方法写应该没问题,希望能帮到你。

java调用dll如何传入指针?invoke后如何获取指针的值?

1、编译连接成库文件,本例是在WINDOWS下做的,生成的是DLL文件。并且名称要与JAVA中需要调用的一致,这里就是goodluck.dll 。把goodluck.dll拷贝到testdll.class的目录下,java testdll运行它,就可以观察到结果了。

2、Method的invoke方法:先检查 AccessibleObject的override属性是否为true。

3、用JNI技术,就是把那个函数再经过Java JNI规范包裹一下,让Java可以调用包裹的函数。

java中怎么调用vb编写的dll文件啊,网上找了很多例子了,都不行。希望...

如果配置了MinGW,也可以这样来编译:gcc -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -Id:/java/include –Id:/java/include/win32 -shared -o (输出的dll文件名,如sum.dll) (输入的c/c++源文件,如abc.c)。

一般那种c#的dll是java不能直接调用的,但C\C++可以,你可以使用JNI。

使用VC++的向导即可。具体操作如下:打开菜单“File\New”→选择“Projects\Win32 Dynamic-Link Library”→选择“A simple DLL project”即可。这时系统会自动生成3个文件:*.cpp,stdafx.cpp,stdafx.h。

首先dll文件必须是通过包含jni做的头文件(定义java相应的方法,然后在dll中实现),才能使用。

EditText:=IntToStr(TestDll(1)); end; end. 上面的例子中我们在窗体上放置了一个编辑框(Edit)和一个按钮(Button),并且书写了很少的代码来测试我们刚刚编写的Delphi.dll。

提此时界面上会提示注册成功,我们点击确定,就可以打开VB Decompiler Pro主程序了。然后我们进入软件主界面,点击界面上方菜单栏里的File选项目录下的Open program选项打开我们想要打开的DLL文件。

如何在java中调用.dll文件,详细点带上代码这些辣

总体说明:实现一个函数,传入整形数i,返回值i*i,这个函数做在DLL中,java将通过JNI调用这个函数,传入一个参数,得到返回值。确定DLL的名称为calldll.dll,函数shanfei(int i)。

JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint j){ i = j;} 编译连接成库文件,本例是在WINDOWS下做的,生成的是DLL文件。并且名称要与JAVA中需要调用的一致,这里就是goodluck.dll 。

一般那种c#的dll是java不能直接调用的,但C\C++可以,你可以使用JNI。

生成C的头文件 编辑Main.java public class Main { public native static int getStrNum(byte str[], int strLen); } 生成头文件 按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。

望穿秋水待伊人 非也! 如果你愿意采用COM组件的方式,可以一试!JAVA有COM4Java的组件(我没记错的话)。

关于Java代码调用dll和java代码调用sh文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/java/36297.html