Tutorial
在 Android 上编译并运行 C —— 设备本地、零配置
在你的 Android 手机上写 C、编译它、运行它 —— 全程在设备上完成。由应用内置的 TCC 编译器驱动。它如何工作,以及边界在哪里。
C 是人们默认你在手机上做不了的语言 —— 它需要一个编译器、一套工具链,一整套桌面级的装备。PocketCode
内置了一个真正的设备端 C 编译器(TCC),于是你可以写一个 .c 文件,就地编译它、运行它,无需任何配置。
口袋里的 C 编译器
PocketCode 在应用内附带了 TCC,一个轻量、快速的 C 编译器。打开一个 .c 文件,点击 Run,它就在设备上编译并执行:
- 真正的编译 —— 而非解释 —— 所以你看到的是货真价实的编译器行为,包括错误和警告。
printf、标准头文件、指针、结构体,以及你在学习或做原型时会写的那些常规 C。- 输出和退出码会流入一个真正的控制台。
- 一次一个源文件:Run 会编译你当前打开的
.c文件(TCC 0.9.27)。
一切都在设备上进行,不会有任何东西离开设备。(登录时需要联网;已有会话时打开应用无需联网;之后,编译和运行都是本地的。)对于一门以需要构建环境而闻名的语言来说,"装上应用、按下 Run"是一个实实在在的转变。
它擅长什么
- 学习 C —— 从"写一段代码"到"看它运行"的最快循环,随时随地,不需要笔记本。
- 算法与数据结构练习 —— 指针、数组、递归,全在设备上完成。
- 小工具和练习题 —— 解析输入、算点东西、打印结果。
编辑器为它提供后盾:C 语法高亮、内置格式化器和括号匹配(参见**代码编辑器指南**),以及一个符号栏,
让 {、}、* 和 ; 一键即达,而不必埋在手机键盘深处。C 没有语言服务器:clangd 是原生程序,而 Google Play 不允许应用下载原生代码。
诚实的边界
- 一个精简的编译器,为速度和体积而调优。 它非常适合学习、练习和小程序 —— 而不是你用来做大型原生构建的 那种重度优化的生产工具链。
- 需要 C++ 或完整工具链? C++ 无法运行:应用列出了一个基于 Clang 的 C++ 包,但在当前版本中无法安装 —— 参见**语言阵容**。
- 无需解释器,但是手机规模。 编译在设备上进行,对小程序而言很快;庞大的代码库不是它的目标。
在这些边界之内,它就是真正的 C,在你手中的手机上编译并运行。
众多语言之一
C 是首次启动就内置于应用中的语言之一 —— 与 Python、 JavaScript、TypeScript、Ruby、PHP、Java 和 Kotlin 并列 —— Lua、Go 和 Rhai 则是可选包。
一台能在设备上、零配置编译并运行 C 的手机。
PocketCode 已在 Google Play 上架。获取 PocketCode,在你自己的设备上试用它。
本文背后的工具
代码编辑器