Использование языка программирования D в контексте .NET
Мне любопытно: кто-нибудь использовал D вместе с .NET-языками? Возможно ли это? Какой материал проще/имеет смысл делать в D, что трудно сделать, скажем, на С++/CLI?
Ответы
Ответ 1
Использование D вместе с .NET очень возможно.
Причина:
- .NET может импортировать неуправляемые библиотеки C. (DLL, которые экспортируют функции C), используя атрибут dllImport.
- D может экспортировать функции C. используя export и атрибуты extern (C)
Итак, учитывая технические возможности, это вполне возможно.
Что касается того, что делает D проще, чем С++, ответ довольно прост: "Все".
В некотором смысле, D на самом деле просто копия С++ с почти всем простейшим. Уверенный, что только половина истории, но разумно верно.
Ответ 2
http://the-free-meme.blogspot.com/ - это блог того, кто работает над тем, чтобы получить d на сети точек.
Edit:
nanu и nono это проекты, которые пытаются получить моно /D, но оба они не имели никаких изменений в svn/trunk за последний год.
Ответ 3
Вы можете вызвать D DLL, создав DLL с интерфейсом C, а затем вызывая его через P/Invoke из .NET.
Ответ 4
Существует также D для .NET, который является способом компиляции кода D прямо на CIL.
Другие ответы правильны в том, что код совместного доступа с встроенной реализацией тоже прост.
Ответ 5
Я считаю, что D может вызывать сборки .NET, видимые через COM: http://wiki.dlang.org/COM_Programming.