Вчера я заинтересовался такой проблемой: каким образом можно использовать большую библиотеку, написанную на чистом C++, в проекте на C#? Первое, что пришло в голову — это экспорт функций в native dll, а потом импорт этих функций в C# с помощью P/Invoke. У меня уже был подобный опыт в одном из моих проектов, и, сказать по правде, больше мне такими извращениями заниматься не хочется . Пораскинув мозгами, я вспомнил, что с выходом .NET Framework в C++ добавились некие managed extensions, которые, вроде как, позволяют писать под .NET на C++. Покурив гугл, я выяснил, что действительно, такую штуку можно реализовать, и по удобству она не будет идти ни в какое сравнение с P/Invoke. Сегодня утром я набросал небольшой примерчик смешанной библиотеки на C++ и тестовый проект на C#, который её использует. За кровавыми подробностям добро пожаловать под кат . Итак, нашей целью будет написание некоего кода на native C++, в котором также будут иметься некоторые управляемые типы. А чтобы было ещё интереснее, написать надо так, чтобы библиотеку на C++ можно было скомпилировать как в чистую native DLL безо всяких намёков на managed code, так и в смешанную сборку. Начнём с создания нового проекта на чистом C++.Read more: Автоматизируй это
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment