Repository navigation
Chinese++ 0.2
Chinese++ 0.2
一句话:这一版把「汉语标准库」真正做进了包里,并把 GUI 那条轨道从"最小一块"推到
窗口 / 控件 / 菜单 / GDI(含位图与双缓冲)。
新增(相对 0.1)
- 汉语标准库随包:
zhstdlib\,119 个中文头 —— 标准库 48(向量 / 字符串 / 映射 / 算法 / 迭代器…)
+ 别名 43 + C 运行库 25(C标准输入输出 / C数学 / C字符串…)
+ windows系统 3(Windows系统/窗口/绘图)。
解压装好后#包含 <向量>开箱可用;英文原名照旧(std::vector/.push_back()/printf)。 - 安装时自动写搜索路径:
bin\chinese++.cfg/clang++.cfg/clang.cfg
⇒ 命令行与编辑器(clangd)都不必再记那 5 条-isystem;移动包之后重跑一次一键安装即可。 - 窗口 GUI(新头
<窗口>):窗口类(WNDCLASSEXW 复制体,带布局断言表)、消息(MSG 复制体)、
消息码、注册窗口类/创建消息窗口/取消息/翻译消息/派发消息、
窗口函数(设置窗口标题/取窗口标题/取窗口矩形/取窗口位置/移动窗口/发送消息/投递消息/
显示窗口/更新窗口/销毁窗口/启用窗口/是否启用/取控件标识)、
控件(创建按钮/创建编辑框/创建静态文本/创建复选框/创建列表框/创建组合框/创建进度条)
与它们的消息(设置勾选/取勾选/添加列表项/添加组合项/设进度范围/设进度值…)、
菜单(创建菜单/创建弹出菜单/追加菜单项/取窗口菜单/设置窗口菜单/删除菜单/取菜单项数/
取子菜单/绘制菜单栏)。 - GDI(新头
<绘图>):设备上下文/画笔/画刷/字体/位图/绘图对象/颜色参考;
取窗口设备上下文/开始绘制/结束绘制/填充矩形/画矩形/画椭圆/画线/输出文本/
设文本颜色/设背景颜色/设背景模式/取设备能力/取系统度量;
位图与双缓冲:创建兼容设备上下文/创建兼容位图/位块传送/取位图尺寸/装入位图/
设像素/取像素/删除兼容设备上下文;创建画笔/创建字体/取文本范围。 - compiler-rt 完整:12 个运行库(ASan / UBSan / 覆盖率)+ 4 个 ignorelist(
share\)
+ 20 个接口头(sanitizer\/profile\/fuzzer\,于是#include <sanitizer/asan_interface.h>可用)。
有意不含orc_rt/xray/memprof(这三个运行时本次构建显式关闭)。 - 自测 21 项(
verify.ps1):中文关键字、中文诊断、#包含 <向量>不带任何-I也能编、
AddressSanitizer 真报一次 use-after-free、--coverage真链上、资源目录/许可证/硬链接齐全……
怎么用(三步)
- 装 Visual Studio 的 C++ 组件(必须:MSVC STL 与 Windows SDK 不在包里);
- 解压后双击
一键安装.cmd; powershell -File verify.ps1—— 21 项全过就是能用。
#包含 <向量> // 中文头名;<vector> 照旧
整数 主函数(){
标准::向量<整数> 表; // std::vector<int> 照旧
表.尾插(1); 表.尾插(2); // .push_back() 照旧
返回 (整数)表.尺寸() == 2 ? 0 : 1;
}已知边界(说清楚,不藏着)
- UI 那部分要额外链库:窗口/控件要
user32.lib,进度条要comctl32.lib,GDI 要gdi32.lib
(产品头不替用户自动链 —— 这是"不改动你工程"的代价)。 消息框(模态)与TrackPopupMenu没有真跑用例:实测(四种关闭手段全失败)表明,
给隐藏窗口当 owner 时消息框不显示但也关不掉,真调会挂死测试;让它显示又违背"用例不弹窗"。
它们只做编译期类型检查。你写自己的程序当然可以用。- 需要 VS Build Tools;真正"干净机器"上的验证仍未做(本机始终有构建树)。