73 lines
4.0 KiB
Markdown
73 lines
4.0 KiB
Markdown
## 设计约束
|
|
|
|
复杂的对象 都使用 D:\ae\proj\Aethera\kernel\src\kernel\double_buffer\model.hpp 并且使用其提供的线程模型
|
|
|
|
``
|
|
除非特别说明不允许写任何同步等待代码。
|
|
除非特别说明不允许写任何同步等待代码。
|
|
除非特别说明不允许写任何同步等待代码。
|
|
除非特别说明不允许写任何同步等待代码。
|
|
``
|
|
|
|
``
|
|
除非特别说明 不允许写任何 事件机制。
|
|
除非特别说明 不允许写任何 事件机制。
|
|
除非特别说明 不允许写任何 事件机制。
|
|
除非特别说明 不允许写任何 事件机制。
|
|
``
|
|
|
|
``
|
|
除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。
|
|
除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。
|
|
除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。
|
|
除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。
|
|
``
|
|
|
|
每次写指针需要明确所有权 T* 表示可空、非拥有借用;not_null<T*> 表示必填、非拥有借用;owner<T*>才表示裸指针所有权。
|
|
|
|
我使用 里的这个环境 D:\ae\proj\Aethera\CMakePresets.json "toolchain/vs2022.json"
|
|
====================[ 构建 | Aethera_Kernel_check | vs2022_debug ]================
|
|
"C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" --build D:
|
|
\ae\proj\Aethera\cmake-build-vs2022_debug --target Aethera_Kernel_check -j 30 默认每次运行程序都通过CDB运行 D:
|
|
\ae\ewdk\EWDK_22621_230929-1800\Program Files\Windows Kits\10\Debuggers\x64\cdb.exe
|
|
|
|
编译器环境脚本 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat -host_arch=x64
|
|
-arch=x64
|
|
|
|
D:\ae\tools 可能会有有用的工具
|
|
|
|
任何 fallback 都必须先规划,禁止直接实现
|
|
|
|
你每次出bug 很多时候是编译缓存的原因 你清掉缓存重新编译 还不行 再去找bug
|
|
|
|
你写完清理你自己创建的所有进程 我自己启动服务
|
|
|
|
写函数 和模块使用下面的约定
|
|
[错误处理规范](./Error_handling_specification.md)
|
|
[命名约定](./Project_naming_conventions.md)
|
|
[项目细节规范](./Project_detail_specification.md)
|
|
|
|
0. 跟你审计报告 就要大刀阔斧的改 一次性先把问题一次改完 在批量检查 要大步前进
|
|
1. 每个状态只能有一个权威来源,禁止在不同对象中重复保存并手工同步。
|
|
2. 能通过计算、查询或快照得到的数据,不要保存为成员变量。
|
|
3. 禁止增加只做值转发的成员、getter、setter 和兼容中间层。
|
|
4. 公共接口只表达业务语义,不泄漏缓冲区角色、线程状态、Private 类型和内部指针。
|
|
5. 接口必须正交,避免语义重叠、调用顺序依赖和多套相同实现。
|
|
6. 类只保存自身职责需要的状态,不替其他对象保存配置或运行状态。
|
|
7. 不要用大量默认空实现的虚函数,能力应按需拆分和组合。
|
|
8. 不要提前加入空配置、无消费者统计和未完成接口。
|
|
9. 替换实现时直接删除旧实现,不保留兼容转发。
|
|
10. 修改后检查新增成员的写入者、读取者、生命周期,以及是否形成重复状态源。
|
|
|
|
11. 注意使用 clion提供的工具 Name Url Bearer Token Env Var Status Auth
|
|
clion-index http://127.0.0.1:29177/index-mcp/streamable-http - enabled Unsupported
|
|
|
|
"C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug
|
|
"-DCMAKE_C_COMPILER=C:/Program Files/Microsoft Visual
|
|
Studio/18/Enterprise/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/cl.bat" "-DCMAKE_CXX_COMPILER=C:/Program Files/Microsoft
|
|
Visual Studio/18/Enterprise/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/cl.bat" --preset vs2019_Debug -S D:\ae\proj\Radio
|
|
-B D:\ae\proj\Radio\cmake-build-vs2019_debug
|
|
"C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" --build D:
|
|
\ae\proj\Radio\cmake-build-vs2019_debug --target Renderive_Core -j 30
|
|
|