Pular para o conteúdo principal

C++

Resumo​

ItemValor
nome na APIcpp
imagem OCI de origemalpine:3.22 + build-base
teto de recursos por job1 vCPU, 512 MiB

O teto de vCPU e RAM existe contra abuso; a memória da libkrun é elástica e o host só paga o que o guest toca.

Warmup​

apk add build-base: a imagem base não traz compilador. O pacote é instalado na VM de build e fica gravado no ext4; o job não precisa de rede. Veja Imagens.

Como o código é executado​

O arquivo principal (o primeiro de files) é compilado com g++ -o <binário> <arquivo> e o binário é executado com o stdin do job. Erro de compilação devolve exception: "Compilation failed", com a saída do g++ em stderr. Tudo roda num diretório em /tmp (tmpfs), numa VM nova destruída no fim do job, sem rede.

Construir a imagem​

rc image build --stack cpp

Exemplo​

curl -s http://127.0.0.1:8080/api/v1/run \
-H 'Content-Type: application/json' \
-d '{
"language": "cpp",
"files": [
{"name": "main.cpp", "content": "#include <iostream>\n\nint main() {\n int n;\n std::cin >> n;\n std::cout << n * 2 << std::endl;\n}\n"}
],
"stdin": "21"
}'

stdout esperado: 42.