Онлайн-Сайт Компилятора C/C++
привет
Мне нужно сделать сайт на C# , на котором я напишу свою программу в текстовой области и после нажатия на кнопку compile она выдаст вывод, есть ли в программе какие-либо ошибки или нет. Я закончил с проектированием, но я не знаю остального, например, какой компилятор использовать, как прикрепить его к веб-сайту и как получить вывод компилятора и показать его пользователю. Будет очень полезно, если вы просто дадите мне представление о том, как это будет сделано.
Есть много веб-сайтов, которые предоставляют онлайн-компиляцию, например compilr.com, codepad.com, ideone.com-да. Но я хочу знать, как они работают.
Спасибо
Sergey Alexandrovich Kryukov
Да, это вполне возможно. Если вы помечаете C#, вы можете использовать ASP.NET-да. Вам нужно будет разместить компилятор C/C++ на вашем сайте.
Единственная проблема: я не знаю, в чем твоя проблема? Решение довольно простое, но не простое. Пожалуйста, поймите, что вряд ли кто-то может быть заинтересован в том, чтобы сделать для вас целостное решение; так Какой же помощи вы ожидаете?
Есть сомнения?
--СА
Goel Pankaj
Спасибо за ответ сэр.
На самом деле я думаю, что не знаю, как передать свою программу из текстовой области в компилятор. Логика, которую я думал, заключается в том, что я сохраню всю программу во временном файле и скомпилирую ее оттуда. Но здесь также возникает проблема, как запустить процесс компиляции с этим временным файлом.
Sergey Alexandrovich Kryukov
Вы правы насчет временного файла-это неизбежно. Вы также должны подумать о нескольких пользователях, работающих параллельно с вашим сайтом. Вы должны сохранить уникальные расположения файлов и т. д. Что касается процесса компиляции, я думаю, что ответил-процесс.Начните с изменения направления потока. Все ваши файлы будут приходить в виде имен файлов, используемых в командной строке компилятора/компоновщика, которую вы передадите процессу.Start (или, скорее, ProcessStartInfo, см. справочную страницу MSDN по этому классу; см. Также мои прошлые решения, на которые я ссылался).
Вы также можете создать файл проекта или сделать файл динамически и поместить туда свои имена файлов; в этом случае утилита сборки будет использовать только этот единственный файл в качестве параметра. Я бы предпочел такой подход. Эта часть будет полностью зависеть от используемого компилятора. Во всяком случае, много работы, но она более или менее проста.
Удачи,
--СА
Goel Pankaj
Я создаю веб-сайт компилятора C/C++ и думаю использовать с ним TCC(Turbo C Compiler).
Philippe Mori
Как уже упоминалось в решении 1, Первое, что вам нужно будет сделать, - это убедиться, что вы можете легально использовать компилятор, который вы выберете для этой цели.
Например, я уверен, что это было бы нелегально с компилятором Microsoft, так как каждый пользователь, который будет использовать ваш сайт, должен был бы легально иметь компилятор, и в этом случае почти бессмысленно компилировать на таком сайте.
Я не вижу в этом смысла. Уже есть несколько сайтов, которые это делают. Кроме того, я думаю, что большинство веб-хостинг-провайдеров не позволят выполнить произвольное приложение на своем сервере (так как это явно было бы дырой в безопасности, если бы компилятор не выполнялся в изолированной среде).
Кроме того, может возникнуть некоторая проблема масштабирования, если несколько пользователей будут использовать сайт одновременно, поскольку компилятор не создан для такого использования.
И наконец, C++ - не самый лучший язык, если цель состоит в том, чтобы просто иметь несколько компиляторов. А также имеет смысл использовать такой старый компилятор (как TCC) практически для любых целей.