Онлайн IDE/Компилятор для C++/CLI

Вопрос или проблема

Я ищу онлайн IDE/компилятор, который поддерживает C++/CLI. Я долго искал и, похоже, не могу найти такой:

Пожалуйста, не стесняйтесь переместить это на более подходящий сайт Stack Exchange, если раздел “Рекомендации по программному обеспечению” не подходит для этого

Ключ здесь — найти какую-то службу, которая поддерживает MSVC, а затем скомпилировать с помощью /clr флага. Конечно, другие компиляторы тоже могут работать нормально, если у них есть фронтенд C++/CLI, но на данный момент cl.exe — это единственный выбор. К счастью, rextester поддерживает MSVC и также может запускать .NET бинарные файлы. Просто добавьте /clr, чтобы скомпилировать код C++/CLI. Смотрите демо:

C++/CLI программа в rextester

Обновление:

К сожалению, MSVC в rextester больше не бесплатен. Теперь вы должны стать патроном, чтобы это использовать

Если вы просто хотите увидеть выходной ассемблер, то все гораздо проще, потому что вам на самом деле не нужна среда выполнения, только правильный компилятор. Вы можете использовать Compiler Explorer, выбрать один из компиляторов MSVC, затем добавить /EHa /clr к опциям и посмотреть. /EHa необходим для переопределения значения по умолчанию /EHs

Демо:

C++/CLI вывод ассемблера на Godbolt

На самом деле Compiler Explorer поддерживает запуск бинарных файлов и также имеет Wine, но я не знаю, почему опция выполнения была отключена для exe файлов.

Ответ или решение

Онлайн IDE и компиляторы для C++/CLI

Если вы ищете онлайн IDE или компиляторы, поддерживающие C++/CLI, вы столкнетесь с определенными трудностями. C++/CLI — это расширение языка C++, предназначенное для взаимодействия с платформой .NET, и, следовательно, требует специфических инструментов для компиляции.

Подходящие онлайн ресурсы

  1. Rextester (https://rextester.com/):
    Rextester поддерживает MSVC и позволяет компилировать C++/CLI код, добавляя флаг /clr. Однако, важно отметить, что в последнее время доступ к этому ресурсу с MSVC стал платным для патронов. Это может стать ограничивающим фактором, если вы ищете бесплатные решения.

    Пример C++/CLI на Rextester

  2. Godbolt – Compiler Explorer (https://godbolt.org/):
    Compiler Explorer позволяет вам увидеть ассемблерный код, сгенерированный для C++/CLI. Вы можете выбрать компилятор MSVC и использовать флаги /EHa /clr, чтобы выполнять анализ вашей программы. Этот инструмент предоставляет возможность изучать, как компилятор обрабатывает ваш код, что может быть полезно для глубокого понимания.

    Вывод ассемблера на Godbolt

  3. DotNetFiddle (https://dotnetfiddle.net/):
    DotNetFiddle в первую очередь предназначен для C# и других языков .NET, но доступ к C++/CLI в данном инструменте не гарантируется. Это может быть хорошей альтернативой, если ваша работа может быть адаптирована под .NET.

  4. Рекомендация на другие ресурсы:

    • Replit, Ideone, и Paiza.io не поддерживают C++/CLI, так как в большинстве случаев они работают с стандартными компиляторами, такими как GCC или Clang, которые не предоставляют функциональности для .NET.

Учтите потребности вашего проекта

Прежде чем выбирать среду для разработки, важно учитывать специфические потребности вашего проекта. Если ваш проект активно использует .NET технологии, но в основном код написан на C++/CLI, возможно, стоит рассмотреть возможность локальной компиляции с использованием Visual Studio, которая предоставляет полный набор инструментов для работы с C++/CLI.

Заключение

Онлайн IDE и компиляторы для C++/CLI, такие как Rextester и Godbolt, предоставляют определенные возможности, однако их ограничения, такие как платность или отсутствие полного функционала, могут быть значительными. Наиболее удобным вариантом для серьезной разработки остается использование локальной среды, где вы сможете полностью контролировать интеграцию с .NET и использовать все преимущества MSVC.

Оцените материал
Добавить комментарий

Капча загружается...