Вызов функции C # из C ++ DLL - PullRequest
0 голосов
/ 04 марта 2012

У меня есть DLL, написанная на C ++, и я хочу передать функцию C # функции в C ++ DLL и вызвать функцию C # из C ++.Как бы я это сделал?Заранее спасибо, и, пожалуйста, оставьте ваши ответы простыми.Я не думаю, что мне нужно будет опубликовать пример кода для этого, но если вам нужен, пожалуйста, спросите.

1 Ответ

4 голосов
/ 04 марта 2012

Обычно это можно сделать двумя способами: COM Interop и Reverse PInvoke. Если вы передаете много объектов с поведением, то COM-взаимодействие, вероятно, вам лучше всего подойдет. Здесь, похоже, вы просто пытаетесь передать одну функцию. Если так, то Reverse PInvoke - это то, что вы хотите.

Вот хороший учебник по теме

Базовый процесс довольно похож на обычный PInvoke.

  • Определить собственную точку входа, которая принимает как минимум один указатель на функцию
  • Определить собственный указатель как делегат в управляемом коде
  • Пропустить делегата через точку входа

Теперь он может вызываться как обычный указатель на функцию в нативном коде

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