Вызов .NET DLL из Java
Я пытаюсь использовать .NET DLL из кода Java (через собственный код C ++).
Поток такой.
Создан .net DLL с использованием проекта типа библиотеки классов C # из Visual Studio 2010.
Создан собственный код C ++ (консольное приложение) для использования этой DLLИспользуя это пошаговое руководство от Microsoft Этот код может успешно вызывать код DLL.
Написал код Java с некоторыми нативными методами, сгенерировал заголовки и реализовал заголовок в проекте C ++ DLL (перенес исходный код из примера в соответствующие методы, сделал некоторые переменные глобальными).
Эта DLL успешно загружена, но код завершается ошибкой при создании указателя интерфейса для класса Managed.
см. snipper из руководства Microsoft
// Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));
Обратите внимание, что этот вызов успешно возвращается для консольного приложения, но при вызове через поток JNI JVM дает сбой.