Compilador online
Compilador Rust online
Escreva seu código em Rust 1.93 abaixo e rode de graça, com entrada, num sandbox nos nossos servidores. Sem cadastro e sem anúncios.
Pela equipe do OnlineCompiler.io. Atualizado em .
Also in EnglishTambién en español
use std::io;
fn main() {
// Lê o nome e um número da aba Entrada
let mut nome = String::new();
io::stdin().read_line(&mut nome).unwrap();
let mut linha = String::new();
io::stdin().read_line(&mut linha).unwrap();
let n: u32 = linha.trim().parse().unwrap();
println!("Olá, {}!", nome.trim());
for i in 1..=n {
println!("{} ao quadrado é {}", i, i * i);
}
} Ana 5
Quer conferir uma solução contra várias entradas? O compilador Rust com casos de teste roda todas de uma vez e marca cada uma como aprovada ou reprovada.
Como dar entrada (stdin)
Antes de apertar Executar, digite na aba Entrada tudo o que o programa vai ler. Ele recebe esse texto pela entrada padrão (stdin). Em Rust, fica assim:
let mut linha = String::new();
io::stdin().read_line(&mut linha).unwrap(); // a próxima linha, com o \n do final
let n: i32 = linha.trim().parse().unwrap(); // essa linha, convertida em número A entrada inteira é enviada quando você aperta Executar, então o programa não pode pedir mais nada enquanto roda. Coloque cada valor numa linha, ou separe por espaços, conforme o programa lê.
Versão e limites
| Versão | Rust 1.93 |
|---|---|
| Compilado com | rustc -C opt-level=2 -C overflow-checks=on code.rs -o code.out |
| Executado com | ./code.out |
| Limites | 30 segundos, 512 MB de memória, 2 CPUs, 64 KB de saída por fluxo, sem rede |
| Execução típica | 0,92 s, e 1,02 s para a mais lenta em cada 20 (como medimos, em inglês) |
Bom saber
- Compila com
rustc -C opt-level=2e com a verificação de overflow ligada, então um overflow aritmético causa panic, como num build de debug. - Não há a opção
--edition, então o código compila na edição padrão do rustc, a de 2015. Traits que o prelude de 2021 adiciona, comoTryFromeTryInto, precisam de uma linhause, easync fnnão está disponível. io::stdin().read_linelê a próxima linha da aba Entrada. Se oparse()derParseIntError { kind: Empty }, o programa tentou converter uma linha vazia, em geral porque leu mais linhas do que você digitou lá.- Não há Cargo, então nada de crates: só a biblioteca padrão.
Rodar Rust a partir do seu app
Para rodar Rust no seu próprio app, envie o código e a entrada para o endpoint síncrono com uma chave de API, e a saída volta na resposta. É grátis até 100.000 execuções por mês. Documentação da API (em inglês).
O editor acima é um widget que você pode colocar no seu site, blog ou curso. Com o atributo data-locale="pt", os botões aparecem em português. Como incorporar o editor (em inglês).
Outras páginas
- Esta página em inglês
- Esta página em espanhol
- Outros compiladores em português: Python, C, C++, Java, C#, F#, Go, PHP, Ruby, Haskell, TypeScript, JavaScript, SQL, DuckDB, Bash, Fortran, Visual Basic, Kotlin, R, Swift, COBOL, Perl, Julia, Pascal, Octave, Assembly, Lua, OCaml, Common Lisp, Erlang, Elixir, Prolog, D, FreeBASIC, Dart, Clojure, Groovy, Scala, Zig, Nim, Crystal, Ada, PowerShell, Racket, Objective-C.
- Todas as 46 linguagens, com versões e tempos de execução
Perguntas frequentes
O compilador Rust online é grátis?
Sim. Rodar Rust nesta página não exige conta e não tem anúncios. Para rodar Rust no seu próprio app ou site, a API e o widget são grátis até 100.000 execuções por mês, uso comercial incluído.
Meu programa em Rust pode ler entrada?
Sim. Digite a entrada na aba Entrada antes de executar, e o programa a lê pela entrada padrão (stdin). A entrada inteira é enviada quando você aperta Executar, então o programa não pode pedir mais nada enquanto roda.
Posso usar bibliotecas em Rust?
A biblioteca padrão do Rust. Não há Cargo, então não dá para adicionar crates, e os programas não têm acesso à rede.
Quanto tempo um programa pode rodar?
Até 30 segundos, com 512 MB de memória e 2 CPUs. Um programa que ainda estiver rodando aos 30 segundos é interrompido com o código de saída 124, e a saída acima de 64 KB por fluxo é cortada.
Onde meu código roda?
Nos nossos servidores, num sandbox gVisor novo e sem acesso à rede, que é apagado quando a execução termina. Cada execução fica guardada no histórico com a saída; a página de segurança (em inglês) explica o que é armazenado.
Existe uma API para Rust?
Sim. Envie o código, o id do compilador rust-1.93 e a entrada para https://api.onlinecompiler.io/api/run-code-sync/ com uma chave de API, e a resposta traz a saída, os erros, o código de saída, o tempo e a memória. É grátis até 100.000 execuções por mês, e a mesma chave serve para as outras 45 linguagens. A documentação está em inglês.