Написание DLL для приложений на C # и C ++ - PullRequest
3 голосов
/ 25 октября 2010

Мне нужно написать пару DLL, которые будут доступны как из приложения C #, так и из приложения C ++. Сначала я думал, что смогу сэкономить время / усилия, написав библиотеки DLL на C # и связавшись с ними из приложений C # и C ++. Разумен ли этот подход, или библиотеки DLL должны быть написаны с использованием C ++?

Ответы [ 3 ]

3 голосов
/ 25 октября 2010

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

Если сложность вашего требования делает уровень комфорта несущественным, я написал бы его на C ++ таким образом, чтобы вы могли получить к нему доступ через P / Invoke.

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

1 голос
/ 25 октября 2010

Я предлагаю вам написать свои библиотеки DLL на C ++, представить их открытые классы для COM, используя ATL или аналогичные, а затем tlbimp создать тонкую оболочку C # вокруг интерфейсов COM.

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

Если DLL будет использоваться в других приложениях .Net, то вы вполне безопасно пишете ее на C # или C ++, в зависимости от того, в каком вам удобнее.

Если DLL будет использоваться в другом месте, вам будет проще написать ее на C ++.

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