P / Invoke в Mono
Вопрос
Каков текущий статус реализации Mono платформы Linux в Linux? А на солярисе?
Решение
Работающий, удобный и стабильный. Он хорошо протестирован, так как довольно много собственных низкоуровневых функций моно должно быть передано через него в основную операционную систему.
Существует несколько расширений P / Invoke по сравнению с реализацией Microsoft .Net (в конце концов, они иметь дело с одним семейством ОС и не более трех архитектур). Наиболее заметным из них будет то, что отображения библиотек преобразуют имя библиотеки в специфичные для ОС варианты (например, mylib.dll
ищет mylib.so
в Linux, mylib. dylib
в OS X и т. д.) и учитывать различные другие системные соглашения. Существует также DLLMap расширение конфигурации, которое можно использовать, если недостаточно перевода по умолчанию. Обычно удобно иметь один и тот же API двоичной библиотеки в разных ОС, так что для миграции между платформами требуются только изменения в коде C, а не в .Net.