Вызов .NET DLL из Java - PullRequest
       1

Вызов .NET DLL из Java

4 голосов
/ 12 декабря 2011

Я пытаюсь использовать .NET DLL из кода Java (через собственный код C ++).

Поток такой.

  1. Создана .net DLL с использованием проекта типа библиотеки классов C # из Visual Studio 2010.

  2. Создан собственный код C ++ (консольное приложение) для использования этой DLL Использование этого пошагового руководства от Microsoft Этот код может успешно вызывать код DLL.

  3. Написал код Java с некоторыми нативными методами, сгенерировал заголовки и реализовал заголовок в проекте C ++ DLL (перенес исходный код из примера в соответствующие методы, сделал некоторые переменные глобальными).

Эта DLL успешно загружена, но код завершается ошибкой при создании указателя интерфейса для класса Managed.

см. Статью из руководства Microsoft

 // Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));

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

1 Ответ

1 голос
/ 28 декабря 2011

Мой Java-код выполнялся в 64-битной JVM, его заменили на 32-битный, и больше не происходит сбоев JVM.

...