Как создать оболочку C # для программного обеспечения в VC ++? - PullRequest
0 голосов
/ 13 апреля 2011

Мне нужно создать оболочку VC ++ в C #. Есть ли способ автоматически сгенерировать код?

Редактировать: позвольте мне немного уточнить: у меня есть простой проект со сложными математическими функциями (вычисление магнитного склонения) в c ++. Всего три файла, один заголовок, один контроллер командной строки и библиотека.

Я смотрел на SWiG, но нашел его загадочным: P. Я смотрю на C ++ / CLI.

Какие-нибудь советы и подводные камни, на которые стоит обратить внимание?

Ответы [ 4 ]

1 голос
/ 13 апреля 2011

Вы можете взглянуть на этот урок:

http://www.codeguru.com/csharp/csharp/cs_data/article.php/c4217

Я думаю, что лучше сделать свою собственную обертку, чем использовать какой-либо инструмент (если он существует). Причина в том, что вы можете создать лучшую оболочку C #, используя правильную философию вместо генерации списка вызовов функций из DLL.

И что касается ловушек, единственное, что я могу сказать, это то, что, поскольку вы собираетесь смешивать класс управления и неуправляемый, убедитесь, что ваша структура / параметры совпадают (sizeof или types).

1 голос
/ 13 апреля 2011

Что касается самых коротких вопросов: это зависит от ваших настроек и требований!;-) Если у вас больше интерфейса в стиле C, вы можете решить свою проблему, просто используя Interop.Если «настоящее» OO-программирование и C ++ задействованы, вам, вероятно, придется взглянуть на C ++ / CLI.Это может быть легко, но это также может стать болезненным - в зависимости от ваших занятий.Насколько я знаю, нет инструмента автоматического генерирования кода.

1 голос
/ 13 апреля 2011

SWiG поддерживает C #.Но оболочка C ++ / CLI будет гораздо более ".NET-подобной", чем автоматически созданная SWiG.

1 голос
/ 13 апреля 2011
...