Виртуальный Экземпляр компилятора C на клиентском браузере

Существует ли способ, которым я могу создать виртуальный экземпляр gcc компилятора на клиентском браузере, когда клиент открывает мой веб-сайт??
Таким образом я могу непосредственно передать пользователя.c файл как аргумент моему экземпляру компилятора и затем выполнить его, не имея необходимость выполнять вызов POST к серверу и выполнять файл там???

1
задан Jatin Ganhotra 26 July 2010 в 06:21
поделиться

2 ответа

Изначально я понял ваш вопрос как направленный на родную платформу, на которой работает браузер:

Учтите, что браузеры могут работать на многих различных платформах, операционных системах и процессорах архитектурах. Компиляция C способом как вы описали, может быть технически выполнимой, но практически неосуществимой.

Я основывал "практически неосуществимо" на сложности поддержки множества широко используемых платформ браузеров.

Теперь я понимаю, что вы думаете о виртуальной среде. Я изменю "практически неосуществимо" на "большой объем работы".

Если я понимаю ваш замысел, то он заключается в том, чтобы запустить компилятор C, который эмитирует, скажем так, x86-компилированный код и исполняет его. Для этого нам нужна эмуляция среды x86, скажем, в JavaScript. Более того, я думаю, вы хотите, чтобы сам компилятор выполнялся в этом окружении, чтобы вы могли повторно использовать gcc. Поэтому вам нужно будет эмулировать и файловую систему. Это "очевидно", что это можно сделать, но это действительно много работы. Стоит ли оно того?

Конкурсный код невелик (я полагаю), даже при большом количестве программистов число одновременных компиляций не может быть таким огромным при наличии приличной системы очередей запросов, Ajax и небольшого масштабирования back-end Насколько дорого обойдется поддержка ожидаемого населения? Каково соотношение разработчиков и систем back-end?

В любом случае, если бы я решал эту проблему, я бы взял код браузера с открытым исходным кодом и соединил его с кодом gcc. Получился бы гибрид компилятора и браузера. Отдайте его разработчикам и скажите им: "Используйте это и получите высокую скорость компиляции, или используйте свой собственный браузер и встаньте в очередь"

.
2
ответ дан 2 September 2019 в 22:45
поделиться

Вы не собираетесь использовать GCC, поскольку он для этого написан. В НАИЛУЧШЕМУ вы могли бы достичь чего-то подобного, если бы у вас был компилятор, написанный на Java, который нацелен на JVM и мог бы запускаться как апплет. Я не знаю, что нужно сделать, чтобы что-то вроде этого заработало, но подозреваю, что потребуется немного поработать, чтобы это заработало. Насколько мне известно, в настоящее время ничего подобного не существует.

0
ответ дан 2 September 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: