Chinese++
中文关键字是 Clang/LLVM 的第一公民。英文拼写照旧可用,两种写法可以随意混写。
★ 现代最强 Chinese++ VS 史上最强易语言。不是创新的汉语编程,却是最强的汉语编程。
底本:LLVM/Clang 24.0.0git | 许可:Apache-2.0 WITH LLVM-exception | 平台:Windows x64
cpp
#包含 <cstdio> // 中文指令,等价于 #include
#include <vector> // 英文指令 —— 混着写没问题
整数 主函数() { // 主函数 = main
std::vector<int> 数字{1, 2, 3}; // 库名仍是英文
整数 和 = 0; // 整数 = int
对于 (整数 n : 数字) // 对于 = for
和 += n;
std::printf("和 = %d\n", 和);
返回 0; // 返回 = return
}主函数 就是 main —— 同一个标识符,写哪个都行。
覆盖到哪一层
| 层 | 现状 |
|---|---|
| 关键字 | ✅ 99 个拼写(86 普通 + 2 上下文 + 11 运算符替代) |
| 预处理指令 | ✅ 22 条,中英可随意混用 |
| 诊断正文 | ✅ 7344 / 7375(旧口径) = 99.6% |
| 标准库名字 | ✅ 标准头 103 / 103 全覆盖(产物 119 个头) |
| C 运行库 / 系统 API | 🟡 逐层加中文名(已起 362 个(类型 64 / 函数 292 / 值宏 6)—— 逻辑缺口只剩 14,且都是硬边界) |
报错也是中文
示例.cpp:5:1: error: 未知类型名 '坐标点'; 你是想写 '坐标' 吗?级别前缀 error: / warning: 故意保留英文 —— 编辑器的问题面板和 CI 脚本靠它抓日志。
切回英文:-fno-chinese-diagnostics
安装要求
⚠ 必须先装 Visual Studio Build Tools(勾上 C++ 开发组件)
为什么:C++ 标准库、C 运行库、Windows SDK 都是微软的东西,我们没有权利打包分发。
这也是好事:正因为用微软原封不动的 MSVC STL, 用本编译器编出来的东西和官方 clang / VS 编出来的完全二进制兼容,可以互相链接。
powershell
winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--quiet --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"不破坏英文代码
8 个真实开源项目与官方 clang 逐项对照:cases=8 fail=0
tinyxml2 / pugixml / fmt / googletest / cJSON / zlib / libuv / lz4
其中 4 项已进总判据,每次提交都跑。