Repository navigation
Chinese++ 0.3(win64,2026-10-09)
下载:下面 Assets 区块里的 Chinese++-0.3-win64.zip(约 101 MB)。
Assets 区块可能是折叠的 —— 点一下展开才能看到附件。
怎么用(三步)
- 解压到任意目录(路径里有中文也没关系,已实测)
- 双击
一键安装.cmd(只在这个文件夹里做事,不碰系统 PATH、不碰你已有的 VS Code) - 想确认装好了:跑
verify.ps1—— 它真编译、真链接、真运行,29 项全过才算能用
不需要装 Visual Studio:本包默认 bundled 模式,自带工具链基底
(开源版 MSVC STL 头 + mingw-w64 的 UCRT/Win32 头 + 我们自己的 CRT 与导入库 + app-local 的 VC++ 运行时 DLL)。
想用你机器上的 VS:powershell -NoProfile -File install.ps1 -Toolchain system。
不想联网 / 只想拿编译器:powershell -NoProfile -File install.ps1 -NoEditor
相对 0.2 的变化
- C 库汉化做到「除硬边界外全覆盖」:26 个中文 C 包装头,中文名 362 个
(标准::格式化输出、标准::分配内存、标准::快速排序、标准::串转最大整数…都能中文调);
逻辑缺口 230 → 14,且这 14 个全是硬边界(cmath 的 12 个函数式宏 + 2 个_Mbstatet别名)。 - 修掉一个会咬人的既有缺陷:中文复数重载被 C 轨的变参转发劫持(
标准::平方根(复数)编不过)。 - 编译器本体更新:
bin\chinese++.exe/llvm-ar.exe/llvm-rc.exe。 - 包内自测 21 项 → 29 项(新增 5 项是逐份点名检查许可/合规文件)。
常见问题.md第一节订正:本包默认开箱即用(自带工具链基底),不再写「必须先装 Visual Studio」。- 补齐许可与合规(见下):新增
LICENSE(自定义条款)/LICENSE-SCOPE.md/TRADEMARK.md,
并把NOTICE.txt按 0.3 实况订正(旧版说"没有再分发微软的库",而 0.3 起带了 app-local 的
可再分发 VC++ 运行时 DLL 与开源版 MSVC STL 头;旧版还说 compiler-rt 不含、ASan 不可用,其实已含)。
许可与再分发(重要,先看这一节)
本发行包不是单一许可,完整判定规则见包内 LICENSE-SCOPE.md:
| 哪一部分 | 许可 | 你能做什么 |
|---|---|---|
| 我们写的(中文关键字表 / 诊断正文表 / 中文标准库里我们写的 / 安装脚本 / 文档) | 自定义条款(LICENSE) |
读、学、改(自用)、用它写程序卖钱都行;不许重新打包再发布 |
编译器与 LLVM(bin\*.exe、lib\clang\**) |
Apache-2.0 with LLVM Exceptions(LICENSE.TXT) |
可再分发、可商用、可再许可 —— 不受那条"禁止再发布"的限制 |
微软 / 第三方(lib\stl\ 开源 MSVC STL 头、lib\mingw\ 头、bin\*.dll 运行时) |
各按各的许可 | 逐项见 NOTICE.txt;那些 DLL 是微软可再分发的运行库 |
- ✅ 你用本工具链写出来的程序,版权与许可完全归你 —— 我们的许可不对编译产物附加任何条件。
- ✅ 非营利、原封不动地整体转发官方发行包:允许(四个条件见
LICENSE第四节)。 - ❌ 重新打包发布 / 改名换标上架 / 捆进你的产品 / 发布你的修改版 / 拆开只取一部分:不行,需事先书面许可。
- ❌ 名字不能用:
Chinese++/汉语编程的名称与图标属项目作者(见TRADEMARK.md)。
⚠ 性质说明:这是 source-available(源码可见),不是 OSI 意义上的开源 ——
OSI 的开源定义要求允许再分发。我们如实这么写,不混淆。
这个包能编什么(实测输出)
#包含 <向量>
#包含 <C标准输入输出>
整数 主函数(){
标准::向量<整数> 数 = {1, 2, 3, 4};
整数 合计 = 0;
对于 (整数 甲 : 数) { 合计 += 甲 * 甲; }
标准::格式化输出("平方和 = %d\n", 合计);
标准::格式化输出("元素个数 = %d\n", (整数)数.尺寸());
返回 0;
}chinese++ -std=c++20 平方和.cpp -o 平方和.exe
.\平方和.exe
# 平方和 = 30
# 元素个数 = 4(不加任何 -I / -isystem;#包含 <向量>、#include <vector> 都直接可用。)
校验与合规
MANIFEST.txt记着包里每个文件的 SHA256,verify.ps1会核对(含 5 份许可/合规文件逐份点名)。- 这是修改过的 LLVM/Clang,不是上游原版:改动声明见
NOTICE.txt(依据 Apache-2.0 第 4(b) 条)。 - 包内第三方来源与许可逐项写在
NOTICE.txt。
反馈请带上
MANIFEST.txt 前两行(版本 + built 时间)+ chinese++.exe 那一行的 SHA256 + 你的 Windows 版本
bundled还是system模式(看bin\toolchain.txt)。