Использование dll, написанных на С# в Java Project
Я работаю над проектом Java, и я не очень хорошо знаком с использованием Java
Я обычно использую С# с помощью anforge для своих проектов видения компьютера
теперь я должен использовать Java, и я хочу использовать DLL файлы aforge, которые написаны на С#
есть ли способ сделать это?
Спасибо
Ответы
Ответ 1
Возможно, но вам нужно будет сделать некоторую работу, чтобы заставить их правильно звонить. Я никогда не делал этого сам, но пока кто-то, лучше оборудованный, чтобы ответить на вопрос, приходит здесь несколько мест, чтобы начать.
Взгляните на JNI (Java Native Interface, google или wikipedia может рассказать вам больше), что позволяет вам обращаться с Java на другие языки. Кажется, есть проект jni4net (http://jni4net.sourceforge.net), который предназначен для того, чтобы делать именно то, что вы хотите, но это в альфа на данный момент и может быть недостаточно стабильным. Тем не менее, это может стоить взглянуть.
Вы также можете сделать это самостоятельно, вызвав JNI как вызов C, который в конечном итоге перейдет в CLR, но это выглядит как много усилий. Я знаю, что это не быстрое и простое решение, но это может дать вам пару мест для начала работы. также http://www.codeproject.com/KB/cross-platform/javacsharp.aspx, казалось, довольно неплохо смотрели, как это сделать.
Как все остальные ответы до сих пор говорили об этом, это смутно и больно. Если вы можете сделать что-то другое, это, вероятно, будет стоить того.
Ответ 2
Посмотрите Jni4Net и этот вопрос: существует эффективная инструмент для преобразования С# в java?
Ответ 3
Не уверен в этой возможности, но ваша идея не так хороша.
Вы все еще можете использовать COM или перехватывать или пытаться использовать ngen, но все это странно.
Java очень похож на С#. Попробуйте ввести код на Java или что-то вроде stab, я думаю, что это намного проще для кода в некоторых Jang на JVM для jvm.
Ответ 4
Вам придется использовать собственные вызовы, которые будут: a) быть действительно раздражающими, чтобы быть в курсе последних событий и B) победить огромное преимущество java, являющегося кросс-платформенным.
Лучше всего попытаться найти что-то, что может конвертировать С# в java, или еще лучше перекодировать ваш код С# в java.
В долгосрочной перспективе это сэкономит вам много стресса.
Ответ 5
Разные компиляторы dud, это невозможно. Если вы не используете java-язык в visual studio, тогда компиляторы mach.