Вопрос или проблема
Я ищу онлайн IDE/компилятор, который поддерживает C++/CLI. Я долго искал и, похоже, не могу найти такой:
Пожалуйста, не стесняйтесь переместить это на более подходящий сайт Stack Exchange, если раздел “Рекомендации по программному обеспечению” не подходит для этого
Ключ здесь — найти какую-то службу, которая поддерживает MSVC, а затем скомпилировать с помощью /clr
флага. Конечно, другие компиляторы тоже могут работать нормально, если у них есть фронтенд C++/CLI, но на данный момент cl.exe — это единственный выбор. К счастью, rextester поддерживает MSVC и также может запускать .NET бинарные файлы. Просто добавьте /clr
, чтобы скомпилировать код C++/CLI. Смотрите демо:
Обновление:
К сожалению, MSVC в rextester больше не бесплатен. Теперь вы должны стать патроном, чтобы это использовать
Если вы просто хотите увидеть выходной ассемблер, то все гораздо проще, потому что вам на самом деле не нужна среда выполнения, только правильный компилятор. Вы можете использовать Compiler Explorer, выбрать один из компиляторов MSVC, затем добавить /EHa /clr
к опциям и посмотреть. /EHa
необходим для переопределения значения по умолчанию /EHs
Демо:
На самом деле Compiler Explorer поддерживает запуск бинарных файлов и также имеет Wine, но я не знаю, почему опция выполнения была отключена для exe файлов.
Ответ или решение
Онлайн IDE и компиляторы для C++/CLI
Если вы ищете онлайн IDE или компиляторы, поддерживающие C++/CLI, вы столкнетесь с определенными трудностями. C++/CLI — это расширение языка C++, предназначенное для взаимодействия с платформой .NET, и, следовательно, требует специфических инструментов для компиляции.
Подходящие онлайн ресурсы
-
Rextester (https://rextester.com/):
Rextester поддерживает MSVC и позволяет компилировать C++/CLI код, добавляя флаг/clr
. Однако, важно отметить, что в последнее время доступ к этому ресурсу с MSVC стал платным для патронов. Это может стать ограничивающим фактором, если вы ищете бесплатные решения. -
Godbolt – Compiler Explorer (https://godbolt.org/):
Compiler Explorer позволяет вам увидеть ассемблерный код, сгенерированный для C++/CLI. Вы можете выбрать компилятор MSVC и использовать флаги/EHa /clr
, чтобы выполнять анализ вашей программы. Этот инструмент предоставляет возможность изучать, как компилятор обрабатывает ваш код, что может быть полезно для глубокого понимания. -
DotNetFiddle (https://dotnetfiddle.net/):
DotNetFiddle в первую очередь предназначен для C# и других языков .NET, но доступ к C++/CLI в данном инструменте не гарантируется. Это может быть хорошей альтернативой, если ваша работа может быть адаптирована под .NET. -
Рекомендация на другие ресурсы:
- Replit, Ideone, и Paiza.io не поддерживают C++/CLI, так как в большинстве случаев они работают с стандартными компиляторами, такими как GCC или Clang, которые не предоставляют функциональности для .NET.
Учтите потребности вашего проекта
Прежде чем выбирать среду для разработки, важно учитывать специфические потребности вашего проекта. Если ваш проект активно использует .NET технологии, но в основном код написан на C++/CLI, возможно, стоит рассмотреть возможность локальной компиляции с использованием Visual Studio, которая предоставляет полный набор инструментов для работы с C++/CLI.
Заключение
Онлайн IDE и компиляторы для C++/CLI, такие как Rextester и Godbolt, предоставляют определенные возможности, однако их ограничения, такие как платность или отсутствие полного функционала, могут быть значительными. Наиболее удобным вариантом для серьезной разработки остается использование локальной среды, где вы сможете полностью контролировать интеграцию с .NET и использовать все преимущества MSVC.