| 版本 | 时间 | 技术变化 |
|---|---|---|
| 5.0.0 | 2026-06 | 首个版本:Win32 界面框架、基础数据类型生成、主题切换 |
| 6.0.0 | 2026-06 | ZIP 打包模块、自编译模式、设置持久化 |
| PRO 1.0.0 | 2026-06 | 稳定性修复,参数校验增强 |
| Future | 2026-06 | 系统工具集合,界面美化,编译器自动检测 |
| Exceed 7.0.0 | 2026-07 | 渐变配色、圆角窗口、自定义输入框 |
| Exceed 7.1.0 | 2026-09 | 网页后端与内嵌界面、生成器代码模式、CDCSCQ 函数库、AI 助手、账号与激活、双通道更新 |
| 幻想 8.0.0 | 2026-10 | 可选增强动态库 cdcfantasy.dll:LoadLibrary 动态加载,20 项数据校验与分析能力,新增 /api/fx 路由 |
8.0.0 的架构变化:外挂式增强 DLL
前面几个版本都是往主程序里加功能,主程序越编越大。8.0.0 换了个思路:把一部分能力单独做成动态库 cdcfantasy.dll,与主程序分离,各自升级。
后端启动后用 LoadLibrary 试着加载它 —— 加载成功就把 20 项数据校验与分析能力接进界面;取不到就直接跳过。因此它是可选增强,不是必需依赖:文件不在,程序照常启动、照常造数据,只是「幻想增强」这一页是空的。
// 后端侧的加载逻辑:拿不到 DLL 不算错误
HMODULE h = LoadLibraryW(L"cdcfantasy.dll");
if (h) {
auto list = (LPFUNC_LIST)GetProcAddress(h, "cdc_fx_list");
auto call = (LPFUNC_CALL)GetProcAddress(h, "cdc_fx_call");
if (list && call) g_fx = new Fantasy(list, call); // 接进界面
} else {
// 没有 cdcfantasy.dll —— 主程序功能不受影响
}界面这边对应新增了 /api/fx 路由,三个操作:op=list 列出全部能力、op=call 调某一项计算、op=info 看单项说明。用户在界面里点一下即调本机后端算,全程不联网。
7.0.0 → 7.1.0 的关键变更
两个版本之间有若干处是做法整体换掉,而不是加功能。这些地方最能说明演进方向:
| 方面 | 7.0.0 | 7.1.0 |
|---|---|---|
| 形态 | 单个 Win32 窗口程序 | 桌面客户端 + 本机 HTTP 后端 + 云端后台 |
| 界面 | 一个窗口内四组控件切换 | 网页界面八个模块;原生端八个功能页 |
| 设置存储 | 注册表 HKCU\Software\TestDataGenerator | SQLite %APPDATA%\CDCExceed\cdc_data.db |
| ZIP 打包 | 按 ZIP 规范手写文件头 + CRC32 查表 | 调用系统 Compress-Archive |
| 运行生成器 | 把 cd /d ... < ... > ... 交给命令解释器 | CreateProcess + 真实文件句柄重定向 |
| 配色 | 十套浅色预设 | 八套星空主题 + 自定义 + 磨砂 |
| 数据能力 | 随机参数生成 | 随机参数 + 用 C++ 写生成器(CDCSCQ) |
| AI / 账号 / 更新 | 无 | AI 助手、账号与激活码、双通道自动更新 |
主线可以概括成两句:把能力从界面里抽出来(这样两套界面能共用同一个内核),把必须联网的部分推到云端(账号、私信、配额、发布)。数据生成本身始终留在本机。