#javascript #html #c
#javascript #HTML #c
Вопрос:
Итак, я знаю, как работает HTML, и я хочу попробовать создать веб-браузер, в котором я могу запускать свою программу, созданную на C.
По сути, это программа с функцией калькулятора, функция которой написана таким образом:
int calculate(int num1, int num2, char operator)
{
int sum;
if (operator == ' ')
{
return num1 num2;
}
else if (operator == '-')
{
return num1 - num2;
}
/*
You could already guess how `*` and `/` works.
*/
Хотя на самом деле это не работает в HTML, поскольку он будет отображать только код из программы. Лучшее, что я могу сделать, это использовать JavaScript для создания точного эквивалента программы в виде веб-страницы.
Как я могу переписать свою программу на C в HTML-файл? Должен ли я использовать JavaScript для этого?
Ответ №1:
Не уверен, что вообще возможно запустить C на каких-либо веб-движках, но даже если это так, хлопоты того не стоят. И поскольку это такая простая программа, лучшим подходом было бы просто переписать ее на JavaScript.
// Code from Maty1000's answer, which is deleted
function calculate(num1, num2, operator)
{
var sum;
if (operator == ' ')
{
sum = num1 num2;
}
else if (operator == '-')
{
sum = num1 - num2;
}
else if (operator == '*')
{
sum = num1 * num2;
}
else if (operator == '/')
{
sum = num1 / num2;
}
return sum;
}
Комментарии:
1. Это хороший момент. C на самом деле не может работать на HTML, поэтому я хотел бы попробовать создать функцию на JavaScript. @Maty1000 уже сделал один, так что я пойду на это.
Ответ №2:
Насколько мне известно, нет никакого способа выполнить скомпилированный код C на стороне клиента (в браузере), как вы можете с помощью Javascript или Python. Обычно C-код выполняется на веб-сервере через Общий интерфейс шлюза (CGI).
Помните, что C обычно компилируется в машинный код, а не запускается через интерпретатор или виртуальную машину, поэтому браузер, работающий в системе Windows x86, не сможет выполнить код, созданный для рабочей станции MIPS, или наоборот.
Браузеру пришлось бы реализовать виртуальную машину, на которой построен код C. Вы действительно не хотите этого делать.