gpt4 book ai didi

java - 如何在java中调用c# dll中的方法?

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:23 24 4
gpt4 key购买 nike

我在 Visual Studio 2008 中创建了一个 C# DLL

c# dll的内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace hello
{
public class Class1
{
public static double addUp(double number, double Number)
{
return number + Number;
}
public static double minus(double number, double Number)
{
return number - Number;
}
}
}

通过java我已经使用

加载了hello.dll

System.loadLibrary("hello");

java代码如下:

package pkgnew;
import javax.swing.JOptionPane;
public class check
{

public static native double addUp(double number,double Number);
static
{
try
{
System.loadLibrary("hello");
System.out.println("SUCCESS");
}catch(Exception ex){ JOptionPane.showMessageDialog(null,"Required DLLs Not Found\n"+ex.getCause(),"Error Loading Libraries", JOptionPane.ERROR_MESSAGE);}
}

public static void main(String[] args)
{
new check().getval();
}

public void getval() {
try
{
double g=this.addUp(52.2, 51.3);
}catch(Exception y){System.out.println("ERROR IS:"+y);}
}
}

但问题是我得到的输出为:

输出

SUCCESS
Exception in thread "main" java.lang.UnsatisfiedLinkError: pkgnew.check.addUp(DD)D
at pkgnew.check.addUp(Native Method)
at pkgnew.check.getval(check.java:35)
at pkgnew.check.main(check.java:29)
Java Result: 1

谁能告诉我为什么我会收到此错误......以及为什么我无法调用 dll 方法

最佳答案

我认为如果不使用 JNI 包装器(或者至少是一些在底层转换为 JNI 的库),您就无法调用 Java 中的 native 扩展。您是否尝试过this thread中提到的框架/建议? ?

关于java - 如何在java中调用c# dll中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com