Задать вопрос
lightalex
@lightalex

Как правильно в C++ обращаться к функции из подгружаемой C# DLL-библиотеки?

Пытаюсь в C++ подгрузить DLL-библиотеку, написанную на C#
Основная программа:
HINSTANCE hMyDLL = LoadLibrary(L"ClassLibrary1.dll");
if (NULL == hMyDLL) {
	std::cout << "LoadLibrary failed\n";
	getchar();
	return -1;
}

typedef int (WINAPI * function) ();
function f = (function)GetProcAddress(hMyDLL, "Class1.test");
if (NULL == f) {
	std::cout << ":(\n";
}

Код DLL-файла:
namespace ClassLibrary1 {
    public class Class1 {
        public static int test()  {
            return 5;
        }
    }
}

Как правильно обращаться к методу класса?
  • Вопрос задан
  • 531 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
https://github.com/3F/DllExport
"Из коробки" вроде как бы и никак, кроме COM
Ответ написан
Комментировать
DarkRaven
@DarkRaven
разработка программного обеспечения
У Microsoft в MSDN есть статья по этому поводу, https://support.microsoft.com/en-us/help/828736/ho... .
Если коротко, предлагают работать через COM.

Еще ранее мне встречалось подобное, - https://www.codeproject.com/Tips/695387/Calling-Cs... .
Суть в том, что на C++ можно писать управляемый код, и там, можно добавлять полноценно экспортируемые функции, по словам автора. Советую обратить внимание.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы