Здравствуйте. Пишу javascript скрипт запуска компиляции файла компилятором gcc.exe файла file.cpp. Срипт будет действовать так: при нажатии кнопки на html страничке запускается компилятор gcc.exe с параметром -c file.cpp (где -с это параметр компиляции, file.cpp - компилируемый файл) и далее выполняется компиляция файла. После компиляции командой gcc.exe -o prog file.o запускается компоновка файла file.o. В результате компиляции и компоновки получается файл prog.exe. То есть дело в том чтобы запустить компилятор с html странички javascript-ом.
Попробовал так:
<?php
system('start c:\\MinGW\\bin\\gcc.exe -с c:\\MinGW\\bin\\cplus.cpp');
system('start c:\\MinGW\\bin\\gcc.exe -o prog c:\\MinGW\\bin\\cplus.o');
?>
Этот скрипт запускается, но компиляция не выполняется, только запускается gcc.exe. Точнее он запускает cmd, что-то мелькает и все. Разглядел что есть какие-то ошибки, пробовал править - все то же.
Будьте добры, подскажите с чего начать и как продолжить
.
Для инфы: то же самое можно проделать с другими компиляторами. Подобного рода задачи решены на олимпиадных серверах, где пользователи выбирают компилятор, далее компилируют файлы и получают готовый exe файл. Весь этот процесс обрабатывается, засекается сколько времени нужно компилятору для компиляции программы, и, если, например, файл компилируется более отведенного промежутка времени, то компиляция останавливается и файл не проходит. По времени компиляции может проходить отбор участников олимпиады - у кого быстрее скомпилируется файл.
Вот попробовал сделать так:
<html>
<head>
<title> Script</title>
<h1> Script </h1>
<script language = javascript>
function runProgram(folderpath)
{
var MyShell = new ActiveXObject("WScript.Shell");
MyShell.Run(folderpath);
}
</script>
</head>
<body>
<H2>Run app</H2>
<FORM NAME="frm1">
<INPUT TYPE="TEXT" SIZE="40" VALUE="C:\\MinGW\\bin\\gcc.exe -c c:\\MinGW\\bin\\splus.cpp" NAME="pole"><BR>
<INPUT TYPE="BUTTON" ONCLICK="runProgram(frm1.pole.value)" VALUE="Running application">
</Form>
</body>
</html>
В чем ошибка? Скрипт не работает.