跳转到内容
返回首页
Tutorial

Android 上的 C++:今天能运行什么,不能运行什么

C++ 文件可以在 PocketCode 中打开并高亮,但目前还不能运行:Clang 包无法安装。这里介绍今天能用的,从使用 TCC 的 C 开始。

更新于:
1 min
作者 Pelayo Naredo
Android 上的 C++:今天能运行什么,不能运行什么

C++ 需要一个相当庞大的编译器,这正是人们默认它在手机上不可行的原因。坦率地说:C++ 目前在 PocketCode 中无法运行。 这篇文章说明这意味着什么,以及你现在就能在手机上编译和运行什么。

C++ 的现状

你可以打开、编辑和保存 C++ 文件:编辑器会为它们高亮,并带有内置格式化器,还有符号栏方便输入标点。缺少的是所有能执行它的部分:

  • 没有运行器。 在 .cpp 文件上 Run 是灰色的。
  • 没有可安装的编译器。 插件管理器(设置 → 编译器和运行时)里列有一个基于 Clang 的 C++ 包,但在当前版本中无法安装。
  • 没有 C++ 语言服务器。 clangd 是原生程序,而 Google Play 不允许应用下载原生代码,所以 C++ 没有一键安装的语言服务器。

我们不把 C++ 计入应用能运行的语言。

今天能做的:用 TCC 写 C

如果你想要的是在手机上编译的、原生风格的代码,C 现在就能用。应用内置了 TCC 编译器,所以 .c 文件无需下载任何东西,就能在设备上编译并运行 —— 参见**在 Android 上编译并运行 C**。

  • 真正的编译,带有货真价实的编译器错误和警告。
  • printf、标准头文件、指针、结构体和数组 —— 你在学习或做原型时会写的那些 C。
  • 一切都在设备上进行,不会有任何东西离开设备。(登录时需要联网;已有会话时打开应用无需联网;之后都是本地的。)

这也是学习 C++ 所建立在其上的内存模型的好办法。要构建并运行真正的 C++,请使用电脑,或通过 SSH 连接的服务器。

手机上还能运行什么

如果你今天想练习带类型的语言,Kotlin 和 Java 也在设备上运行(Java 是实验性且功能有限的,通过 BeanShell 解释器运行,带对象的类、泛型和 lambda 都无法运行),Python、JavaScript、TypeScript、Ruby 和 PHP 同样如此。Go、Lua 和 Rust 风格脚本是可选包。查看**完整阵容**。


C++ 还不能运行;C、Kotlin、Python、JavaScript 以及更多语言今天就能在你的手机上运行。

PocketCode 已在 Google Play 上架。获取 PocketCode,在你自己的设备上试用它。

本文背后的工具

代码编辑器

准备好试用 PocketCode 了吗?

下载应用,开始用手机编程。