旧版前端工程文件导入时版本对比查验、审阅与仿真时部分阻挡功能实现;前端参数输入格式统一规范

This commit is contained in:
lujingze committed 2026-09-12 14:15:40 +00:00
1 parent 22579e51c9
commit 44b6ea74ab
32 files changed
+2087 -322

No files matched your search

+16
View File
@@ -1,5 +1,9 @@
# Windows 与 Linux 功能交付约定
文档版本:1.1.1
修订日期:2026-09-12
核对代码基线:`22579e5`;本次版本号仅标注文档,不改变模型版本或协议版本。
2026-09-12 用户明确要求:后续功能补全同时注意 Windows 平台适配。
Windows x64 与 Linux x86_64 都是当前应用的使用平台。涉及文件系统、缓存、编译器、进程、动态库、环境安装或启动脚本的功能修改,应同时检查两侧的实现和测试入口。
@@ -18,3 +22,15 @@ $env:SIMULATION_NATIVE_REQUIRE_TOOLCHAIN = '1'
```
该入口使用现有 `SIMULATION_NATIVE_CC` / `SUNDIALS_ROOT` 或构建器的默认探测;CI 配置在 `.github/workflows/solver-regression.yml` 的 `native-windows` 作业。
新增组件同样适用本约定:新增 C 模块应使用现有构建抽象和严格浮点设置,检查模块导出、传递依赖、对象复用、完整模型缓存、Windows 可执行文件与 DLL 发现;不要在组件脚本中写死 Linux 编译器、路径分隔或符号链接能力。
[注册演练](component-registration-example-v1.md)在 Linux 使用真实浏览器和 C 工具链执行;本次没有 Windows 实机环境,未宣称演练已通过 Windows 验收。复现工具使用 `sys.executable`、`pathlib`、无 shell 的编译调用;Windows 验收仍需实际执行。
## 当前工具链边界(2026-09-12 核对)
构建器只接受 Windows/Linux,默认寻找 `gcc`,或读取 `SIMULATION_NATIVE_CC`;使用 GCC 风格的预处理、目标查询和编译参数,不承诺 MSVC/macOS 支持。公共参数包括 C11、`-O3 -Wall -Wextra -Werror -ffp-contract=off -fno-fast-math`。Windows 另加 MinGW printf 与静态 libgcc 选项,Linux 添加 POSIX 宏。
`SUNDIALS_ROOT` 指向开发文件根目录:Windows 使用 `lib/sundials_*.lib` 和 `bin/sundials_*.dll`,将依赖 DLL 随模型复制;Linux 使用探测目录中的 `libsundials_*.a` 静态链接。当前五个链接库为 cvode、core、nvecserial、sunmatrixdense、sunlinsoldense,RK45 构建也使用这套共用程序。
CI 的 `native-windows` 配置了 MinGW、SUNDIALS、缓存回归、后端完整回归和原生 RK45 夹具;其存在不证明任意一次修改已经在 Windows 运行通过。本次仅核对配置并运行本机可执行检查,未取得新的 Windows 实机结果。