Использование dll, написанных на C # в Java Project - PullRequest
11 голосов
/ 11 апреля 2011

Я работаю над проектом Java, и я не очень знаком с использованием Java Я обычно использую C # с aforge для своих проектов компьютерного зрения Теперь я должен использовать Java, и я хочу использовать библиотеки aforge, которые написаны на C # Есть ли способ сделать это?

Спасибо

Ответы [ 5 ]

4 голосов
/ 11 апреля 2011

Это возможно , но вам нужно будет поработать, чтобы они правильно звонили. Я никогда не делал этого сам, но пока не появится кто-то лучше подготовленный, чтобы ответить на вопрос, вот несколько мест для начала.

Взгляните на JNI (родной интерфейс Java, Google или Википедия могут рассказать вам больше), который позволяет вам обращаться из Java на другие языки. Кажется, есть проект под названием jni4net (http://jni4net.sourceforge.net), который предназначен для того, чтобы делать именно то, что вы хотите, но в данный момент он находится в альфа-режиме и может быть недостаточно стабильным. Тем не менее, стоит взглянуть.

Вы также можете сделать это сами, вызывая JNI как вызов C, который затем в конечном итоге дойдет до CLR, но это похоже на большие усилия. Я знаю, что это не быстрое и простое решение, но оно может дать вам несколько возможностей для начала. также http://www.codeproject.com/KB/cross-platform/javacsharp.aspx, казалось, довольно хорошо смотрел, как это сделать.

Как и все другие ответы до сих пор, хотя, это неудобно и боль. Если вместо этого вы можете сделать что-то еще, это, вероятно, того стоит.

3 голосов
/ 11 апреля 2011

Посмотрите на Jni4Net и этот вопрос переполнения стека: Есть ли эффективный инструмент для преобразования C # в Java?

1 голос
/ 11 апреля 2011

Вы должны будете использовать нативные звонки, которые будут а) действительно раздражать, чтобы быть в курсе событий, и Б) победить огромное преимущество Java кроссплатформенности.

Лучше всего попытатьсянайдите что-то, что может конвертировать C # в Java - или, что еще лучше, перекодировать ваш код C # в Java.

В долгосрочной перспективе это избавит вас от стресса.

1 голос
/ 11 апреля 2011

Не уверен насчет этой возможности, но ваша идея не так хороша.Вы все еще можете использовать COM или ловушку или попробовать ngen, но все это странно.

Java очень похожа на C #.Попробуйте написать код на Java или что-то вроде stab , я думаю, что гораздо проще кодировать в некоторых основанных на JVM языках для jvm.

0 голосов
/ 11 апреля 2011

Разные компиляторы дуд, это не возможно.Если вы не используете java sharp язык в Visual Studio, то компиляторы Mach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...