Виртуальный экземпляр компилятора C в клиентском браузере - PullRequest
1 голос
/ 26 июля 2010

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

Ответы [ 3 ]

2 голосов
/ 26 июля 2010

Первоначально я решил, что ваш пользователь нацелен на платформу, на которой работает браузер:

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

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

Теперь я понимаю, что вы больше думаете о направлениях таргетинга виртуальной среды. Я исправлю практически невыполнимую «большую работу».

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

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

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

0 голосов
/ 18 марта 2014

Возможно использование jsLinux в фоновом режиме?Там процесс создания может выполняться в виртуальной машине.Связь может быть осуществлена ​​путем расширения переноса буфера обмена, возможно, на несколько каналов ...

Я бы также заинтересовался решениями gcc на основе JavaScript.

0 голосов
/ 26 июля 2010

Вы не собираетесь использовать GCC, как написано для этого.В лучшем случае, вы могли бы добиться чего-то схожего, если бы у вас был написан компилятор на Java, предназначенный для JVM и который можно запускать как апплет.Я не знаю, что нужно для того, чтобы что-то подобное заработало, но я подозреваю, что потребуется немало усилий, чтобы все заработало.Насколько я знаю, в настоящее время ничего не существует, что делает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...