Member 13823039 Ответов: 1

Как скомпилировать cpp-файл внутри программы на C#


Я пытаюсь создать консольное приложение c++ judge system на C# для себя и нескольких друзей. Пользователь должен выбрать cpp-файл, папку с тестами(входной файл и выходной файл). Программа должна скомпилировать cpp-файл(у пользователя должен быть установлен компилятор gcc), выполнить его для каждого теста и оценить, совпадает ли вывод, заданный программой пользователя, с выходным файлом для этого теста. Я знаю, как сделать большинство вещей для программы, но я не знаю, как скомпилировать файл cpp. Я был бы очень благодарен, если бы кто-нибудь помог.

Что я уже пробовал:

Я пытался везде искать, как это сделать, я даже пытался смотреть на другие системы судей, но я не мог найти то, что искал.

1 Ответов

Рейтинг:
0

OriginalGriff

Используйте класс Process для выполнения gcc: Класс Процесса (System.Диагностика)[^]

Имейте в виду: если вы "случайно" запускаете приложения, которые вам даны в качестве источника, вы открываете всю свою машину для всего, что решит сделать автор приложения. Я настоятельно рекомендую вам посмотреть на использование виртуальной машины, если вы цените что-то еще на компьютере...


Member 13823039

Большое спасибо за ответ, я собираюсь попробовать его. Кроме того, я забыл упомянуть, что намерен создать локальную программу, которую кто-то может скачать и запустить на своей машине.