Commit Graph

3 Commits

Author SHA1 Message Date
ypc 842d83a147 fix(backend): 信号值持久存储 + WS 日志控制 + core dump 配置
self_ptl:
- 修复: self_ptl_do_signal_out() 使用栈局部变量, 函数返回后
  指针悬空 → 前端读到垃圾值 0xFC (252)
- 新增 6 个全局 vector (g_st_vals/g_mx_vals/g_co_vals/g_dd_vals/
  g_ao_vals/g_param_val_ptrs) 作为持久存储, 零初始化后传地址

webserver:
- ws_method: get_file/set_file 路径拼接 %s%s → %s/%s
  (修复 func_proc_self_dir 无末尾 / 导致路径错误)
- ws_method: WS 日志默认关闭, 新增 web_log on/off/status 命令
  (CMD_REGISTER_C 注册)
- ws_method: dc_data JSON 改为 ws_send_one (文本帧),
  ws_recv 日志用 memcpy+null 截断防乱码

main.c:
- 添加 setrlimit(RLIMIT_CORE, RLIM_INFINITY)
  和 prctl(PR_SET_DUMPABLE) 启用 core dump

build.sh:
- 构建前自动设置 core_pattern 到项目根目录
2026-07-14 18:23:11 +08:00
ypc b04cba095d build: 构建系统增强
- build.sh: 编译前删除旧 RTU,编译后拷贝到项目根目录
- linux.mk: ARM 交叉编译新增 -mno-outline-atomics 和 -fno-threadsafe-statics
- copy_headers.sh: 新增 libicp67 头文件拷贝
- makefile: 各模块编译选项微调
2026-07-14 10:59:27 +08:00
ypc 4ee054e583 [阶段0] 从零重写全部模块 — odai-governed 自主实现
道:读懂功能需求(SPEC.md) → 独立编码 → 不复制原工程代码
术:构建系统 → myBase.h → liblist → liblog → libfunc,逐模块验证
法:每个函数源自需求理解 + 自主设计,编译→测试→提交闭环

交付:
- myBase.h: 颜色/文件名/大小端/类型枚举(LOCAL/S_STR/DATA_TYPE_*)
- liblist:  11个API, C/C++双兼容, 纯头文件
- liblog:   消息池预分配 + pthread_once + 批量消费 + 文件轮转(纯C, 0 malloc运行时)
- libfunc:  65个函数7大分类, 全部自主研发实现(校验/字符串/时间/文件/进程/环境/IPC)
- 构建:     4层递归makefile, x86/arm切换, gcc/g++混合编译
2026-07-07 13:19:18 +08:00