C++ no Android: o que roda hoje e o que não roda
Arquivos C++ abrem e são realçados no PocketCode, mas ainda não rodam: o pacote do Clang não pode ser instalado. O que funciona hoje, a partir do C com TCC.
C++ precisa de um compilador sério, que é exatamente o motivo pelo qual as pessoas presumem que ele está fora de alcance num celular. Para ser direto: o C++ não roda hoje no PocketCode. Este post explica o que isso significa e o que você pode compilar e rodar no celular agora.
Onde o C++ está
Você pode abrir, editar e salvar arquivos C++: o editor os realça e tem um formatador embutido, com uma barra de símbolos para a pontuação. O que falta é tudo o que os executa:
- Não há runner. O Run fica desabilitado num arquivo
.cpp. - Não há compilador instalável. O gerenciador de complementos (Configurações → Compiladores e runtimes) lista um pacote de C++ baseado em Clang, mas ele não pode ser instalado nesta versão.
- Não há servidor de linguagem para C++. O clangd é um programa nativo, e o Google Play não permite que apps baixem código nativo, então não há servidor de um toque para C++.
Não contamos o C++ entre as linguagens que o app executa.
O que você pode fazer hoje: C com o TCC
Se o que você quer é código compilado, no estilo nativo, no celular, C funciona
agora. O app embute o compilador TCC, então um arquivo .c compila e roda no
dispositivo sem baixar nada — veja
compile e rode C no Android.
- Compilação real, com erros e avisos genuínos do compilador.
printf, headers padrão, ponteiros, structs e arrays — o C que você escreveria aprendendo ou prototipando.- Tudo roda no dispositivo e nada sai dele. (O app precisa de conexão para entrar; abrir o app com uma sessão já iniciada funciona offline; depois disso é local.)
É também uma boa forma de aprender o modelo de memória sobre o qual o C++ é construído. Para compilar e rodar C++ de verdade, use um computador ou um servidor que você acessa por SSH.
O que mais roda no celular
Se você quer praticar linguagens tipadas hoje, Kotlin e Java (experimental e limitado, pelo interpretador BeanShell: classes com objetos, generics e lambdas não rodam) também rodam no dispositivo, assim como Python, JavaScript e TypeScript, Ruby e PHP. Go, Lua e scripts estilo Rust são pacotes opcionais. Veja a lista completa.
O C++ ainda não roda; C, Kotlin, Python, JavaScript e muito mais rodam hoje no seu celular.
O PocketCode está disponível no Google Play. Baixe o PocketCode para experimentar no seu próprio dispositivo.
Editor de código