Поддерживает ли Mono.NET и компилирует С++/CLI?
Если нет, вы знаете, есть ли у них какие-либо планы по его поддержке?
Поддерживает ли Mono.NET и компилирует С++/CLI?
Если нет, вы знаете, есть ли у них какие-либо планы по его поддержке?
У нас нет компилятора для С++/CLI, это было бы очень большой задачей для очень маленькой пользовательской базы. Считайте также, что спецификация С++/CLI по своей сути ошибочна и не переносима, поэтому возможность компиляции в общем случае не помогла бы.
Вы можете скомпилировать с использованием компилятора MS.NET и выполнить моно с этими ограничениями:
выполняется с моно в любой системе, если приложение С++/CLI управляется чистым (но зачем использовать такой уродливый язык, а не С#?)
работать с mono на окнах в других случаях (приложения С++/CLI вообще не переносятся и включают собственный код, поэтому они могут работать только на окнах и неинтересны для основной цели моно, что запустить управляемые программы в Linux)
Обратите внимание, что сама MS в конечном итоге откажется от С++/CLI, поэтому не вкладывайте слишком много средств в нее и переключайтесь на С#.
Недавно Mono сделал некоторые довольно большие шаги с совместимостью на С++ в CXXI.
Из этой публикации рассказывается, что новая технология CXXI позволяет разработчикам С#/. NET:
CXXI является результатом двух лет работы Google Summer of Code для улучшения совместимости Mono с языком С++.
Mono может запускать "чистые" сборки, сгенерированные С++/CLI, т.е. которые не содержат любой собственный код. Различные параметры /clr, поддерживаемые компилятором С++, документируются на MSDN.
В настоящее время нет поддержки для компиляции С++/CLI. Проделана определенная работа по модификации GCC для испускания ИЛ, но она не является полной (и не появляется активной). См. Статью .
Я не считаю, что Microsoft документирует формат для включения собственного кода в сборку, поэтому поддерживать это сложно.
Это очень старый вопрос с очень интересными ответами через несколько лет. На данный момент tritao/CppSharp является наиболее активно развитым fork mono/cxxi, который был перенесен на в хранилище mono в 2013 году и активно развивается, поскольку текущее дерево можно найти в mono/CppSharp
Их readme здесь, а функции для генератора:
Он также поставляется с множеством классных материалов AST и парсером.
В Mono 2.4 вы можете запускать приложения С++/CLI, которые были скомпилированы под, например. Visual Studio 2008 с ключом /clr: безопасный.
Нет, С++/CLI не поддерживается в Mono и, вероятно, никогда не будет, хотя генерация чистого IL с использованием компиляторов MS позволит полностью управляемый код для запуска под Mono.
Как язык взаимодействия, существует С++/CLI, чтобы можно было вызвать неуправляемый код. Другой альтернативой является использование P/Invoke, которое хорошо документировано, хотя и с проблемами.
go здесь и посмотрите в разделе "Отсутствующие языки". Но только потому, что вы не можете компилировать, это не значит, что вы не можете бежать. Вы можете скомпилировать свой код на С++ с помощью фреймворка sdk и попробовать запустить его с помощью моно. Стоит попробовать все равно.