C # позволяет выполнять вызовы взаимодействия с библиотеками c ++ и c.Хотя это и не раскрыто, но вы можете манипулировать своей сборкой, чтобы вызвать реверс (это делается с помощью ildasm, однако это уловка, и я не буду вдаваться в подробности).
Чтобы добиться того, что вы просите, у вас естьвручную заполнить пробел с вашего хоста c ++ и вашей библиотеки c #.Один из способов, который явно не требует никаких усилий, - это создать новую сборку в MC ++ (т.е. c ++ с размещенным clr).Эта соединительная сборка представит API для использования вашим языком c ++, в то время как она может получить доступ к вашей библиотеке c # для повторного использования логики.
Это не тривиальная задача, так как вам нужно вручную упорядочить структуры данныхпоскольку вы идете «против разработанного варианта использования».
Встраивание среды выполнения, на мой взгляд, потребовало бы того же усилия.В любом случае, вы должны быть осторожны, потому что ваш нереальный движок требует больших ресурсов и производительность может получить ощутимый удар.Кроме того, часть c # имеет другую систему управления памятью, которая не может быть оптимальной при стрессе нереальным движком.