Если вы используете C ++ в качестве целевого языка, то вы должны использовать JNI (http://java.sun.com/docs/books/jni/). JNI определяет интерфейс для обмена данными и вызова методов из / в Java и нативный код. Довольно просто написать JNIОболочка к классу, который содержит методы, возвращающие и принимающие входные простые параметры (то есть нативные типы, без коллекции, без массивов). Когда методы включают классы, коллекции, массивы и т. д., это может быстро стать громоздким, чтобы написать оболочку JNI вручнуюВ этой статье представлен хороший обзор: http://java.sys -con.com / node / 45840 . В этом случае вы можете оценить генератор оболочки, например GIWS: http://www.scilab.org/products/other/giws.
Если выМы используем среду .NET в качестве целевой платформы, тогда IKVM является одним из вариантов. Однако, когда нам пришлось сделать это для реального проекта, мы предпочли JNBridge, и у нас был довольно успешный этот (коммерческий) инструмент. Мы не оценивали IKVM длябизнес-причина: наш клиент хотел только официально поддерживаемое промежуточное ПО.