java调用DLL动态库
jni 是由Java调用C/C++的动态链接库 (DLL)。 所以把.class-->.h-->dll ,想法是不正确的, 同时也违背了Jni的初衷。 Dll是由C/C++生成的。 以前的一个项目用到了Java调用C/C++的DLL,所以对这个还算熟悉。 那个dLL是由C++程序员写的,在Microsoft Visual C++ 6.0编辑器中可以生成。然后由Java程序员用JNI来调用DLL里面实现的功能(方法)。
我该怎么用Java程序调用C#生成的dll文件
使用JNI.
一、首先需要编写一个native的java方法。 public class Test{ static{ System.loadLibrary("mydll"); } public static void main(String[] args) { new Test().test(); } public native void test(); }
二 使用javac 编译。使用javah生产头文件。 生产的头文件就在你执行这些命令目录下面。
三、编写C代码。include这个头文件.实现 头文件中的test函数。
四、把自己编写的.c的c语言程序编译成dll后缀的库文件。
五、在这个例子里面把库文件放在项目根目录下就可以了。
eclipse加载不到jvm.dll
回答如下:这可能是因为您的Java安装不正确或损坏。以下是一些可能的解决方案:
1. 确保您的Java安装正确并且与Eclipse版本兼容。您可以从Oracle官方网站下载最新的Java安装程序并重新安装。
2. 检查您的系统环境变量是否设置正确。在Windows操作系统中,您需要将JAVA_HOME和PATH设置为正确的Java安装路径。
3. 检查您的Eclipse配置是否正确。您可以在Eclipse安装目录下的eclipse.ini文件中设置Java路径。
4. 如果您的Java安装没有问题,但仍然无法加载jvm.dll,请尝试重新安装Eclipse。
5. 如果以上方法均无效,您可以尝试在Eclipse启动时手动指定Java路径。在Eclipse快捷方式的目标字段中添加“-vm”参数,并将Java路径指定为参数值。
例如:-vm C:\Program Files\Java\jdk1.8.0_221\bin\javaw.exe
6. 如果上述方法仍然无效,请尝试在操作系统中重新注册jvm.dll文件。您可以在命令行中使用“regsvr32 jvm.dll”命令来注册该文件。
是的,因为jvm.dll文件没有找到或丢失,eclipse就无法正常加载,这使得eclipse无法启动。
2. jvm.dll文件是Java Virtual Machine(JVM)的一部分,它是Java应用程序运行所需的必要文件,如果这个文件丢失或损坏,eclipse就无法正常工作。
3. 需要确保已经安装和正确配置了Java JDK,以及正确设置Java环境变量。
同时也需要确认eclipse是否与Java JDK版本匹配,否则同样会导致无法加载jvm.dll文件。