VirtualIreland.ru - Виртуальная Ирландия
Вернуться   VirtualIreland.ru - Виртуальная Ирландия > Живем в Ирландии > IT и Связь

IT и Связь Обсуждение "айтишных" вопросов и средств связи

Ответ
 
Опции темы Опции просмотра
Старый 17.08.2006, 12:18   #1
Редкий собеседник
 
Сообщений: 2,663
Благодарности: 906 в 585 сообщениях Поиск благодарностей TYA
По умолчанию Unmanaged C++ classes DLL in C# .NET поделитесь опытом

Собственно см. название темы.

Пока ничего такого в интернете не нашел, что бы прояснило ситуацию. Нахожу много аналогичных вопросов, но без ответов...
Есть нечто близкое по духу, но не совсем: Call Unmanaged DLLs from C#.
Может кто знает где ресурсы почитать можно...

Как работать с managed DLL в C# более или менее понятно, но модифицировать больше тысячи классов как-то не улыбается совсем.
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy."
-- Odyssey: Pepsi to Apple
TYA вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 15.09.2006, 17:14   #2
Редкий собеседник
 
Сообщений: 2,663
Благодарности: 906 в 585 сообщениях Поиск благодарностей TYA
По умолчанию

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

An Overview of Managed/Unmanaged Code Interoperability (.NET Development (General) Technical Articles)

Managed Extensions for C++ Migration Guide (синтаксис языка старый, но ссылка полезна). А здесь описание нового синтаксиса.

Common way to wrap an unmanaged class within a managed class.

.NET: Calling Win32 DLLs in C# with P/Invoke

.NET: P / Invoke Revisited

Пара статей и дискуссий по проблеме Calling unmanged C++ functions from C#:
http://www.developerfusion.co.uk/show/4451/3/
http://www.dotnet247.com/247reference/msgs/3/15341.aspx
http://www.gamedev.net/community/for...opic_id=337062

Статья как работать с массивами.

.NET: Array Types in .NET -- MSDN Magazine, February 2002

Pin pointers (для работы с managed данными в unmanaged коде).

В итоге для работы с N-ым числом C++ классов в .Net придется писать генератор wrapperов (даже не знаю как по-русски обозвать) для managed C++ (плюсовый парсер уже есть), осталось определится с правилом определения классов и их членов, вызовом специальных конструкторов и методами доступа и изменения данных. Ерунда какая, за пару месяцев думаю можно управится.
Кстати, народ уже что-то похожее делает для Java: NoodleGlue
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy."
-- Odyssey: Pepsi to Apple
TYA вне форума   Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете добавлять вложения
Вы не можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT, времени сейчас: 02:18.


vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd., Русификация: zCarot, Vovan & Co
©2003-2025 VirtualIreland.ru - Виртуальная Ирландия