在Java Project中使用C#编写的dll

时间:2011-04-11 08:21:11

标签: c# java dll

我正在从事Java项目,而且我对使用Java不是很熟悉 我经常在我的计算机视觉项目中使用带有aforge的C# 现在我必须使用Java,我想使用用C#编写的aforge DLL 有没有办法做到这一点?

谢谢

5 个答案:

答案 0 :(得分:4)

是可能的,但你需要做一些工作才能让他们正确调用。我自己从来没有这样做过,但是直到有人能够更好地回答这个问题,这里有几个地方可以开始。

看看JNI(Java Native Interface,谷歌或维基百科可以告诉你更多),它可以让你从Java调用其他语言。似乎有一个名为jni4net(http://jni4net.sourceforge.net)的项目,它的目的是完全按照您的意愿行事,但目前它处于alpha状态,可能不够稳定。还是值得一看。

您也可以自己动手,通过JNI调用C调用,然后最终进入CLR,但看起来很费劲。我知道这不是一个快速简单的解决方案,但它可能会给你几个开始的地方。同样http://www.codeproject.com/KB/cross-platform/javacsharp.aspx似乎也很好看看如何去做。

正如迄今为止所有其他答案所说的那样,这是一种繁琐而又痛苦的事情。如果你可以做其他事情,它可能是值得的。

答案 1 :(得分:3)

答案 2 :(得分:1)

你必须使用本机调用,这样做a)真的很烦人,以便及时了解B)打败java跨平台的巨大优势。

您最好的选择可能是尝试找到可以将C#转换为Java的内容 - 或者更好地将C#代码重新编码为java。

从长远来看,它会为你节省很多压力。

答案 3 :(得分:1)

不确定这种可能性,但你的想法不太好。 你仍然可以使用COM或钩子或尝试使用ngen,但这种方式都很奇怪。

Java与C#非常相似。尝试使用Java或stab之类的代码进行编码,我认为在jvm的一些基于JVM的语言中编写代码要容易得多。

答案 4 :(得分:-1)

不同的编译器老兄,这是不可能的。除非你在visual studio中使用java sharp语言,否则编译器是马赫。