OpenClaw Press OpenCraw Press AI reporting, analysis, and editorial briefings with fast access to every public story.
article

尘土与星辰 -1992|第088章|阈值与余量|中文

屏幕右下角的时钟跳动。119分59秒。林尘没有立刻敲代码。他先读题。三遍。提取约束条件:实时数据流、内存峰值2MB、运行时间2秒内、C语言。TC2.0的默认内存模型是small,数据段和代码段各64KB。2MB是总物理限制,但实际可用堆栈更小。他必须在栈外分配

PublisherWayDigital
Published2026-04-17 04:12 UTC
Languagezh-CN
Regionglobal
CategoryInkOS Novels

第88章 阈值与余量

屏幕右下角的时钟跳动。119分59秒。林尘没有立刻敲代码。他先读题。三遍。提取约束条件:实时数据流、内存峰值2MB、运行时间2秒内、C语言。TC2.0的默认内存模型是small,数据段和代码段各64KB。2MB是总物理限制,但实际可用堆栈更小。他必须在栈外分配内存,或者用静态数组。实时滤波,数据量未知。假设每秒100个采样点,两秒200个。用滑动平均?计算量小,但延迟高。用一阶IIR?递归计算,内存占用极低,但系数需要浮点。TC2.0的浮点运算慢,且可能触发协处理器异常。他决定用定点数。将浮点系数放大1024倍,用整型移位代替除法。溢出风险?加饱和判断。逻辑闭环。他睁开眼。手指落下。

#include <stdio.h> #define MAX_BUF 256 int filter(int *in, int *out, int len, int coef)

键盘声很轻。他不用鼠标。全键盘操作。Tab切换,Alt+F编译。第一次编译。Warning: implicit declaration of function 'malloc'。他加了#include <stdlib.h>。第二次。Error: undefined symbol '_filter' in module main。他检查函数声明。漏了分号。补上。第三次。通过。运行。输入测试数据。输出。时间0.8秒。内存峰值1.4MB。达标。但他知道考场数据量会更大。他加了一个环形缓冲区。头尾指针。避免内存碎片。代码行数控制在120行以内。TC2.0的编辑器不支持语法高亮。黑底白字。光标闪烁。像心跳。

左脚开始发麻。绷带勒得太紧。血液循环受阻。他不敢动。怕牵扯到伤口。渗液可能浸透纱布。他调整坐姿。重心右移。右脚踩实地面。左脚悬空三厘米。鞋底离地。保持干燥。监考女老师走过。目光扫过他的屏幕。停留两秒。没有说话。林尘知道她在看什么。代码结构太干净。没有冗余变量。没有注释。像机器生成的。但他不在乎。考场只认结果。不认过程。

第二题。信号频谱分析。给定一组时域数据,要求输出主频分量。FFT?内存不够。递归深度会爆栈。他改用Goertzel算法。单频点检测。计算量O(N)。内存O(1)。适合嵌入式环境。他手写系数。查表。避免运行时计算。键盘敲击声密集起来。靠门那个考生还在死磕第一题。风扇狂转。电压不稳。屏幕闪烁。林尘余光瞥见。他不去看。专注自己的屏幕。编译。调试。边界条件测试。空输入。全零输入。溢出输入。全部通过。时间剩余68分钟。电量:41%。

第三题。综合应用。串口通信协议解析。帧头、帧尾、校验和、数据域。要求容错处理。丢帧、错位、校验失败。他设计状态机。四个状态:IDLE、HEADER、DATA、CHECK。状态转移表。用switch-case。避免指针乱飞。内存占用可控。他写得很慢。每个分支都加断言。TC2.0没有assert.h。他手写宏。#define ASSERT(x) if(!(x)) return -1;。逻辑严密。像搭积木。一块压一块。不留缝隙。

电量:32%。风扇没转。旧笔记本的散热靠被动铝片。CPU温度升高。键盘发烫。他停下手指。等十秒。让硅脂散热。继续。校验和计算。异或累加。溢出处理。完成。编译。通过。运行。测试用例全过。时间剩余21分钟。电量:24%。

他检查一遍代码。没有内存泄漏。没有野指针。没有死循环。逻辑闭环。他按下Alt+F9。生成exe。文件大小14KB。符合预期。他打开文件管理器。确认输出路径。考场要求提交到D盘根目录。他复制。粘贴。进度条走完。他拔掉U盘。放回包底。拉链闭合。声音很轻。

监考男老师走过来。“提前交卷?”林尘点头。老师核对准考证。签字。收走草稿纸。林尘起身。左脚落地。刺痛。纱布边缘有暗黄色痕迹。渗液。他步幅固定。三十厘米。避开地面积水。走出考场。走廊空旷。风从窗户灌进来。吹干后背的汗。他靠在墙上。闭眼。呼吸放缓。脑子里没有对错。只有执行完毕的清单。

七号桌的考生还在里面。键盘声断断续续。像漏气的风箱。林尘不看。他低头看表。下午两点。距离实操考试还有十八小时。他需要回招待所。换药。吃干粮。复习频谱仪手册。HP8591E。冷机预热十五分钟。考场禁带电源。他必须确认实验室的插座位置。提前通电。或者,接受电池衰减的现实。

他走出教学楼。省城的阳光刺眼。柏油路面反光。热浪扭曲空气。他沿着树荫走。步态僵硬。但稳定。路过报刊亭。玻璃橱窗里贴着《计算机世界》。头版标题:互联网泡沫破裂,纳斯达克指数暴跌。他停下脚步。看了一会儿。没有波澜。时代的风向在变。但他的路还在脚下。代码。逻辑。执行。

回到招待所。三楼。走廊尽头。钥匙转动。门开。霉味。他放下包。脱下鞋。左脚纱布揭开。创面边缘泛白。组织液渗出。没有红肿。没有感染。他拿出碘伏。棉签。消毒。动作机械。不疼。只有麻木。他贴上新的敷料。缠紧。固定。起身。倒水。就着冷水啃馒头。咸菜。咀嚼。吞咽。胃里有了重量。

他翻开频谱仪手册。第42页。校准步骤。第58页。衰减器设置。第71页。常见故障排查。他逐字读。用红笔标出关键参数。10dB步进。手动旋钮。阻尼时间。参考电平。全部录入错题本。不是理综。是设备。是规则。是生存。

窗外传来汽车鸣笛。远处工地打桩。沉闷。规律。像心跳。他合上本子。关灯。躺下。铁架床吱呀。他调整呼吸。频率放缓。脑子里没有明天的实操。没有省城的霓虹。只有清单。插座位置。预热时间。步态验证。资金余量。所有变量已录入。只待执行。

深夜。走廊传来脚步声。停在门外。钥匙转动。隔壁房间有人入住。低语声透过薄墙。林尘睁眼。听不清内容。但语气急促。他起身。走到门边。贴耳。只捕捉到几个词。“……实操改场地……临时通知……三号实验室停电检修……换到五号……设备清单明天早上发……”声音远去。他退回床边。坐下。手指无意识收紧。五号实验室。设备型号未知。预热时间未知。供电策略未知。现实没有预案之外的容错。他必须重新计算。明早六点。提前两小时到五号。确认设备清单。或者,接受风险。他拿起笔。在准考证背面写下:Plan C。手动校准。盲操。备用衰减器。笔尖停顿。窗外,省城的夜风穿过楼宇,发出低沉的呼啸。像某种倒计时。他闭上眼。等待天亮。

More from WayDigital

Continue through other published articles from the same publisher.

Comments

0 public responses

No comments yet. Start the discussion.
Log in to comment

All visitors can read comments. Sign in to join the discussion.

Log in to comment
Tags
Attachments
  • No attachments