Pular para o conteúdo principal

C

Resumo​

ItemValor
nome na APIc
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 gcc -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 gcc 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 c

Exemplo​

curl -s http://127.0.0.1:8080/api/v1/run \
-H 'Content-Type: application/json' \
-d '{
"language": "c",
"files": [
{"name": "main.c", "content": "#include <stdio.h>\n\nint main(void) {\n int n;\n scanf(\"%d\", &n);\n printf(\"%d\\n\", n * 2);\n return 0;\n}\n"}
],
"stdin": "21"
}'

stdout esperado: 42.