Каковы возможные способы использования кода C # в C ++ - PullRequest
3 голосов
/ 25 ноября 2010

Я просто ищу лучший способ повторно использовать код, написанный на c #, в моих проектах c ++ Создание com \ service не выглядит лучшим вариантом для моих нужд. Насколько сложно экспортировать код c # в dll и использовать его в c ++? Могу ли я получить предложение или пример? это обычное требование или? Пожалуйста, помогите мне. я использую win7, VS2008, win7sdk

Спасибо и спасибо, Кэлвин

Ответы [ 4 ]

2 голосов
/ 25 ноября 2010

Выполнение управляемого кода из неповрежденного исполняемого файла возможно, хотя и не совсем просто.Вы можете заглянуть в эту статью для ознакомления и в этой книге , чтобы пойти дальше.

Лично я бы избегал такого рода вещей в большинстве случаев и, если возможно,переключите проект C ++ на C ++ / CLI, чтобы получить немедленную совместимость со сборками .Net при минимальных затратах.

0 голосов
/ 25 ноября 2010

Если вы не можете использовать COM (если, например, уже написан код .NET), вы можете разместить CLR, но это долгий путь ...

См. Эти другие статьи Как загрузить CLR в процесс и Создать C # DLL, которую можно импортировать в приложение Delphi, используя stdcall - возможно?

0 голосов
/ 25 ноября 2010

В случае, если вам нужно использовать код, написанный на C # C ++, вам нужно сначала посмотреть, какие типы данных вы бы передавали из кода C ++ в код C #. 1. Базовые типы данных, такие как int, enum и т. Д., Могут передаваться из неуправляемого в управляемый код. 2. Если вы хотите передать объект класса, вам нужно использовать маршаллинг.

0 голосов
/ 25 ноября 2010

Вы не можете экспортировать код C # в нативный файл.По крайней мере, без особых болей в ягодицах.Вы должны были заранее подумать и написать повторно используемую часть на C, создавая таким образом нативную DLL, которую можно было бы использовать на всех языках.

Кроме того, вы можете попробовать управляемый C ++ - лично я ненавижу это ... но вотидти

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