C
Resumo
| Item | Valor |
|---|---|
| nome na API | c |
| imagem OCI de origem | alpine:3.22 + build-base |
| teto de recursos por job | 1 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.