Criando um arquivo HTML que executa um programa C++

Para criar um arquivo HTML que execute um programa C++ no servidor e mostre o resultado no navegador, é necessário seguir alguns passos. Primeiro, é preciso criar o programa C++ e compilar o código para gerar um executável. Em seguida, será necessário escrever um script JavaScript que execute esse executável com os parâmetros necessários e capturar a saída para mostrar no HTML.

Passo 1:

Criando o programa C++ Para fins de exemplo, vamos criar um programa C++ simples que recebe dois números como parâmetros da linha de comando e retorna a soma deles. Abra um editor de texto e digite o seguinte código:

#include <iostream>

using namespace std;

int main(int argc, char* argv[]) {
  int num1 = atoi(argv[1]);
  int num2 = atoi(argv[2]);
  int sum = num1 + num2;
  cout << sum;
  return 0;
}

Salve o arquivo com o nome “sum.cpp”. Em seguida, compile o código com o seguinte comando no terminal:

g++ sum.cpp -o sum

Isso irá gerar um arquivo executável chamado “sum”.

Passo 2:

Escrevendo o script JavaScript Agora vamos escrever o script JavaScript que irá executar o programa C++ e capturar a saída para mostrar no HTML. Abra um editor de texto e digite o seguinte código:

javascript
const { exec } = require('child_process');

const num1 = 5;
const num2 = 7;

exec(`./sum ${num1} ${num2}`, (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.error(`stderr: ${stderr}`);
});

Neste exemplo, estamos definindo duas variáveis num1 e num2 com os valores 5 e 7, respectivamente. Em seguida, estamos usando a função exec do módulo child_process do Node.js para executar o programa C++ “sum” com esses valores como parâmetros da linha de comando. O resultado da execução é capturado pelo stdout (saída padrão) e mostrado no console.

Passo 3:

Incorporando o script no arquivo HTML Para mostrar o resultado no navegador, precisamos incorporar o script JavaScript no arquivo HTML. Abra um editor de texto e digite o seguinte código:

php
<!DOCTYPE html>
<html>
<head>
  <title>Soma de Dois Números</title>
  <script>
    const { exec } = require('child_process');

    const num1 = 5;
    const num2 = 7;

    exec(`./sum ${num1} ${num2}`, (error, stdout, stderr) => {
      if (error) {
        console.error(`exec error: ${error}`);
        return;
      }
      document.getElementById("result").innerHTML = stdout;
    });
  </script>
</head>
<body>
  <h1>Soma de Dois Números</h1>
  <p>O resultado da soma de 5 e 7 é:</p>
  <div id="result"></div>
</body>
</html>

Este código HTML contém um script JavaScript incorporado que executa o programa C++ “sum” com os valores num1 e num2 e captura a saída para mostrar na página. O resultado é mostrado em um elemento div com o id “result”.

Passo 4: Executando

Com a incorporação do script no arquivo HTML, agora precisamos executar o código no servidor para ver o resultado no navegador. Para fazer isso, precisamos de um servidor web local para servir o arquivo HTML e executar o script JavaScript.

Passo 5: Configurando o servidor web Existem várias opções para configurar um servidor web local, como Apache, Nginx, entre outros. Para fins de exemplo, vamos usar o servidor web embutido no Node.js.

Abra um terminal e vá para o diretório onde o arquivo HTML e o executável “sum” estão localizados. Em seguida, execute o seguinte comando para instalar o módulo http-server do Node.js:

npm install http-server -g

Isso irá instalar o módulo http-server globalmente no seu sistema. Em seguida, execute o seguinte comando para iniciar o servidor web:

http-server

Isso irá iniciar o servidor web na porta 8080 por padrão. Se você quiser especificar outra porta, use o seguinte comando:

http-server -p [porta]

Passo 6: Visualizando o resultado no navegador Com o servidor web em execução, abra um navegador e acesse a seguinte URL:

http://localhost:8080

Isso deve exibir a página HTML com o resultado da soma de 5 e 7:

Soma de Dois Números

O resultado da soma de 5 e 7 é:
12

Conclusão

Neste artigo, vimos como criar um arquivo HTML com JavaScript que executa um programa C++ no servidor e mostra o resultado no navegador. Embora este exemplo seja simples, ele demonstra como integrar diferentes tecnologias para criar aplicativos web mais complexos. É importante lembrar que a segurança é uma consideração crítica ao executar programas no servidor, portanto, certifique-se de tomar as precauções necessárias para proteger seu servidor e seus usuários.