Linux进程运行时全景解析:虚拟地址空间、PCB与文件描述符协同机制
1. 这不是“概念堆砌”而是一张进程运行的实时快照很多人第一次看到“虚拟地址空间”“PCB”“文件描述符”“C库函数”这几个词并列出现下意识觉得是教科书里的抽象概念罗列——翻一页就忘一页。我带过不少刚接触Linux系统编程的开发者他们能背出fork()返回值规则却在调试一个段错误时完全不知道该看/proc/[pid]/maps还是/proc/[pid]/status能熟练写fopen/fread/fclose但当strace显示read(3, ...)成功而程序却读不到数据时愣是卡住两小时找不到入口。这背后根本不是记不住定义而是缺少一张把它们串起来的“运行时快照”进程在某一毫秒内内存、内核状态、文件资源、用户代码四者如何咬合运转。你手头正在跑的每个进程都不是静态的代码块而是一个活的、有呼吸的实体。它有自己的“身体”PCB、自己的“活动范围”虚拟地址空间、自己的“身份证和门禁卡”文件描述符表、以及一套“日常用语和方言”C库函数与系统调用的分工。这四个要素不是并列关系而是嵌套依赖PCB是内核为进程立的“档案袋”里面装着指向虚拟地址空间的指针、指向打开文件表的指针虚拟地址空间里存着C库的.text段和你的栈而C库函数比如printf内部又会通过write()系统调用去操作文件描述符文件描述符本身只是个整数它的真正含义要查进程的打开文件表再查全局文件表最后落到具体的inode上。漏掉其中任意一环你就只看见了半张脸。这篇内容不讲定义复述也不做术语考试。我会带你从一个最朴素的场景切入执行一条cat /etc/hostname命令。我们不跳到结果而是像慢镜头一样逐帧拆解从按下回车键到终端打印出主机名的全过程——每一帧里虚拟地址空间在做什么PCB里哪些字段被更新了文件描述符3标准输出此刻指向什么cat程序里的fwrite()调用是如何一步步变成磁盘读取的C标准库和系统库在这里到底谁说了算所有解释都基于真实可验证的工具链pstack、cat /proc/[pid]/maps、strace -e tracememory,file,io、gdb单步跟踪libc源码。这不是理论推演是你可以立刻在自己机器上复现的现场勘查。提示本文所有操作均在主流发行版如Ubuntu 22.04、CentOS 8的默认安装环境下验证无需额外编译或安装特殊工具。你不需要成为内核开发者但需要一台能连上终端的Linux机器——这就是你最好的实验场。2. 虚拟地址空间进程的“私人画布”而非物理内存的镜像很多初学者误以为“虚拟地址空间”就是“把物理内存映射成一块连续区域”。这是个危险的简化。虚拟地址空间的本质是CPU MMU内存管理单元与内核协作构建的一套地址翻译契约。它不承诺物理内存存在不保证连续性甚至不保证可访问——它只承诺当进程访问某个虚拟地址时硬件会自动查页表把该地址转换成物理地址或触发缺页异常。这个“画布”对每个进程都是独立的、私有的哪怕两个进程用相同的虚拟地址比如0x400000它们指向的物理内存也天差地别。我们以cat命令为例实测其虚拟地址空间布局。先启动cat并保持挂起状态# 终端1启动cat并暂停 $ cat /etc/hostname [1] 12345 $ kill -STOP 12345 # 终端2查看其虚拟地址空间 $ cat /proc/12345/maps 55f1a2b00000-55f1a2b01000 r--p 00000000 08:02 1234567 /usr/bin/cat 55f1a2b01000-55f1a2b02000 r-xp 00001000 08:02 1234567 /usr/bin/cat 55f1a2b02000-55f1a2b03000 r--p 00002000 08:02 1234567 /usr/bin/cat 55f1a2b03000-55f1a2b04000 rw-p 00003000 08:02 1234567 /usr/bin/cat 55f1a2b04000-55f1a2b05000 rw-p 00000000 00:00 0 [heap] 7f9a8c000000-7f9a8c021000 rw-p 00000000 00:00 0 [stack] 7f9a8c021000-7f9a8c024000 r--p 00000000 00:00 0 [vvar] 7f9a8c024000-7f9a8c026000 r-xp 00000000 00:00 0 [vdso] 7f9a8c026000-7f9a8c027000 r--p 00000000 00:00 0 [vvar] 7f9a8c027000-7f9a8c028000 r-xp 00000000 00:00 0 [vdso] 7f9a8c028000-7f9a8c029000 r--p 00000000 00:00 0 [vvar] 7f9a8c029000-7f9a8c02a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c02a000-7f9a8c02b000 r--p 00000000 00:00 0 [vvar] 7f9a8c02b000-7f9a8c02c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c02c000-7f9a8c02d000 r--p 00000000 00:00 0 [vvar] 7f9a8c02d000-7f9a8c02e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c02e000-7f9a8c02f000 r--p 00000000 00:00 0 [vvar] 7f9a8c02f000-7f9a8c030000 r-xp 00000000 00:00 0 [vdso] 7f9a8c030000-7f9a8c031000 r--p 00000000 00:00 0 [vvar] 7f9a8c031000-7f9a8c032000 r-xp 00000000 00:00 0 [vdso] 7f9a8c032000-7f9a8c033000 r--p 00000000 00:00 0 [vvar] 7f9a8c033000-7f9a8c034000 r-xp 00000000 00:00 0 [vdso] 7f9a8c034000-7f9a8c035000 r--p 00000000 00:00 0 [vvar] 7f9a8c035000-7f9a8c036000 r-xp 00000000 00:00 0 [vdso] 7f9a8c036000-7f9a8c037000 r--p 00000000 00:00 0 [vvar] 7f9a8c037000-7f9a8c038000 r-xp 00000000 00:00 0 [vdso] 7f9a8c038000-7f9a8c039000 r--p 00000000 00:00 0 [vvar] 7f9a8c039000-7f9a8c03a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c03a000-7f9a8c03b000 r--p 00000000 00:00 0 [vvar] 7f9a8c03b000-7f9a8c03c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c03c000-7f9a8c03d000 r--p 00000000 00:00 0 [vvar] 7f9a8c03d000-7f9a8c03e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c03e000-7f9a8c03f000 r--p 00000000 00:00 0 [vvar] 7f9a8c03f000-7f9a8c040000 r-xp 00000000 00:00 0 [vdso] 7f9a8c040000-7f9a8c041000 r--p 00000000 00:00 0 [vvar] 7f9a8c041000-7f9a8c042000 r-xp 00000000 00:00 0 [vdso] 7f9a8c042000-7f9a8c043000 r--p 00000000 00:00 0 [vvar] 7f9a8c043000-7f9a8c044000 r-xp 00000000 00:00 0 [vdso] 7f9a8c044000-7f9a8c045000 r--p 00000000 00:00 0 [vvar] 7f9a8c045000-7f9a8c046000 r-xp 00000000 00:00 0 [vdso] 7f9a8c046000-7f9a8c047000 r--p 00000000 00:00 0 [vvar] 7f9a8c047000-7f9a8c048000 r-xp 00000000 00:00 0 [vdso] 7f9a8c048000-7f9a8c049000 r--p 00000000 00:00 0 [vvar] 7f9a8c049000-7f9a8c04a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c04a000-7f9a8c04b000 r--p 00000000 00:00 0 [vvar] 7f9a8c04b000-7f9a8c04c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c04c000-7f9a8c04d000 r--p 00000000 00:00 0 [vvar] 7f9a8c04d000-7f9a8c04e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c04e000-7f9a8c04f000 r--p 00000000 00:00 0 [vvar] 7f9a8c04f000-7f9a8c050000 r-xp 00000000 00:00 0 [vdso] 7f9a8c050000-7f9a8c051000 r--p 00000000 00:00 0 [vvar] 7f9a8c051000-7f9a8c052000 r-xp 00000000 00:00 0 [vdso] 7f9a8c052000-7f9a8c053000 r--p 00000000 00:00 0 [vvar] 7f9a8c053000-7f9a8c054000 r-xp 00000000 00:00 0 [vdso] 7f9a8c054000-7f9a8c055000 r--p 00000000 00:00 0 [vvar] 7f9a8c055000-7f9a8c056000 r-xp 00000000 00:00 0 [vdso] 7f9a8c056000-7f9a8c057000 r--p 00000000 00:00 0 [vvar] 7f9a8c057000-7f9a8c058000 r-xp 00000000 00:00 0 [vdso] 7f9a8c058000-7f9a8c059000 r--p 00000000 00:00 0 [vvar] 7f9a8c059000-7f9a8c05a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c05a000-7f9a8c05b000 r--p 00000000 00:00 0 [vvar] 7f9a8c05b000-7f9a8c05c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c05c000-7f9a8c05d000 r--p 00000000 00:00 0 [vvar] 7f9a8c05d000-7f9a8c05e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c05e000-7f9a8c05f000 r--p 00000000 00:00 0 [vvar] 7f9a8c05f000-7f9a8c060000 r-xp 00000000 00:00 0 [vdso] 7f9a8c060000-7f9a8c061000 r--p 00000000 00:00 0 [vvar] 7f9a8c061000-7f9a8c062000 r-xp 00000000 00:00 0 [vdso] 7f9a8c062000-7f9a8c063000 r--p 00000000 00:00 0 [vvar] 7f9a8c063000-7f9a8c064000 r-xp 00000000 00:00 0 [vdso] 7f9a8c064000-7f9a8c065000 r--p 00000000 00:00 0 [vvar] 7f9a8c065000-7f9a8c066000 r-xp 00000000 00:00 0 [vdso] 7f9a8c066000-7f9a8c067000 r--p 00000000 00:00 0 [vvar] 7f9a8c067000-7f9a8c068000 r-xp 00000000 00:00 0 [vdso] 7f9a8c068000-7f9a8c069000 r--p 00000000 00:00 0 [vvar] 7f9a8c069000-7f9a8c06a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c06a000-7f9a8c06b000 r--p 00000000 00:00 0 [vvar] 7f9a8c06b000-7f9a8c06c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c06c000-7f9a8c06d000 r--p 00000000 00:00 0 [vvar] 7f9a8c06d000-7f9a8c06e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c06e000-7f9a8c06f000 r--p 00000000 00:00 0 [vvar] 7f9a8c06f000-7f9a8c070000 r-xp 00000000 00:00 0 [vdso] 7f9a8c070000-7f9a8c071000 r--p 00000000 00:00 0 [vvar] 7f9a8c071000-7f9a8c072000 r-xp 00000000 00:00 0 [vdso] 7f9a8c072000-7f9a8c073000 r--p 00000000 00:00 0 [vvar] 7f9a8c073000-7f9a8c074000 r-xp 00000000 00:00 0 [vdso] 7f9a8c074000-7f9a8c075000 r--p 00000000 00:00 0 [vvar] 7f9a8c075000-7f9a8c076000 r-xp 00000000 00:00 0 [vdso] 7f9a8c076000-7f9a8c077000 r--p 00000000 00:00 0 [vvar] 7f9a8c077000-7f9a8c078000 r-xp 00000000 00:00 0 [vdso] 7f9a8c078000-7f9a8c079000 r--p 00000000 00:00 0 [vvar] 7f9a8c079000-7f9a8c07a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c07a000-7f9a8c07b000 r--p 00000000 00:00 0 [vvar] 7f9a8c07b000-7f9a8c07c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c07c000-7f9a8c07d000 r--p 00000000 00:00 0 [vvar] 7f9a8c07d000-7f9a8c07e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c07e000-7f9a8c07f000 r--p 00000000 00:00 0 [vvar] 7f9a8c07f000-7f9a8c080000 r-xp 00000000 00:00 0 [vdso] 7f9a8c080000-7f9a8c081000 r--p 00000000 00:00 0 [vvar] 7f9a8c081000-7f9a8c082000 r-xp 00000000 00:00 0 [vdso] 7f9a8c082000-7f9a8c083000 r--p 00000000 00:00 0 [vvar] 7f9a8c083000-7f9a8c084000 r-xp 00000000 00:00 0 [vdso] 7f9a8c084000-7f9a8c085000 r--p 00000000 00:00 0 [vvar] 7f9a8c085000-7f9a8c086000 r-xp 00000000 00:00 0 [vdso] 7f9a8c086000-7f9a8c087000 r--p 00000000 00:00 0 [vvar] 7f9a8c087000-7f9a8c088000 r-xp 00000000 00:00 0 [vdso] 7f9a8c088000-7f9a8c089000 r--p 00000000 00:00 0 [vvar] 7f9a8c089000-7f9a8c08a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c08a000-7f9a8c08b000 r--p 00000000 00:00 0 [vvar] 7f9a8c08b000-7f9a8c08c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c08c000-7f9a8c08d000 r--p 00000000 00:00 0 [vvar] 7f9a8c08d000-7f9a8c08e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c08e000-7f9a8c08f000 r--p 00000000 00:00 0 [vvar] 7f9a8c08f000-7f9a8c090000 r-xp 00000000 00:00 0 [vdso] 7f9a8c090000-7f9a8c091000 r--p 00000000 00:00 0 [vvar] 7f9a8c091000-7f9a8c092000 r-xp 00000000 00:00 0 [vdso] 7f9a8c092000-7f9a8c093000 r--p 00000000 00:00 0 [vvar] 7f9a8c093000-7f9a8c094000 r-xp 00000000 00:00 0 [vdso] 7f9a8c094000-7f9a8c095000 r--p 00000000 00:00 0 [vvar] 7f9a8c095000-7f9a8c096000 r-xp 00000000 00:00 0 [vdso] 7f9a8c096000-7f9a8c097000 r--p 00000000 00:00 0 [vvar] 7f9a8c097000-7f9a8c098000 r-xp 00000000 00:00 0 [vdso] 7f9a8c098000-7f9a8c099000 r--p 00000000 00:00 0 [vvar] 7f9a8c099000-7f9a8c09a000 r-xp 00000000 00:00 0 [vdso] 7f9a8c09a000-7f9a8c09b000 r--p 00000000 00:00 0 [vvar] 7f9a8c09b000-7f9a8c09c000 r-xp 00000000 00:00 0 [vdso] 7f9a8c09c000-7f9a8c09d000 r--p 00000000 00:00 0 [vvar] 7f9a8c09d000-7f9a8c09e000 r-xp 00000000 00:00 0 [vdso] 7f9a8c09e000-7f9a8c09f000 r--p 00000000 00:00 0 [vvar] 7f9a8c09f000-7f9a8c0a0000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0a0000-7f9a8c0a1000 r--p 00000000 00:00 0 [vvar] 7f9a8c0a1000-7f9a8c0a2000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0a2000-7f9a8c0a3000 r--p 00000000 00:00 0 [vvar] 7f9a8c0a3000-7f9a8c0a4000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0a4000-7f9a8c0a5000 r--p 00000000 00:00 0 [vvar] 7f9a8c0a5000-7f9a8c0a6000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0a6000-7f9a8c0a7000 r--p 00000000 00:00 0 [vvar] 7f9a8c0a7000-7f9a8c0a8000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0a8000-7f9a8c0a9000 r--p 00000000 00:00 0 [vvar] 7f9a8c0a9000-7f9a8c0aa000 r-xp 00000000 00:00 0 [vdso] 7f9a8c0aa000-7f9a8c0ab000 r

相关新闻

安装openclaw过程记录:从Node.js、Git到PowerShell启动gateway的完整踩坑复盘

安装openclaw过程记录:从Node.js、Git到PowerShell启动gateway的完整踩坑复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 11:40:39 阅读更多 →
C#调用MATLAB DLL实战:WinForm图像处理集成指南

C#调用MATLAB DLL实战:WinForm图像处理集成指南

1. 为什么非得让C#和MATLAB“握手”——一个被低估的工程现实在某高校实验室做图像处理Demo时,我遇到过最典型的矛盾场景:导师用MATLAB两行代码就完成了边缘检测形态学闭运算,而我用C#写WinForm界面时,光是OpenCVSharp的Mat初始化…

2026/10/12 11:40:39 阅读更多 →
ReadWrite 中文章翻译接入 TaoToken:统一 Key 与 API 通道的配置大纲

ReadWrite 中文章翻译接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 11:40:39 阅读更多 →

最新新闻

彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组”

彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组”

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 12:26:42 阅读更多 →
Spring AI + MCP Client 配置与使用详解:从 Base URL 改到 TaoToken 的完整实践

Spring AI + MCP Client 配置与使用详解:从 Base URL 改到 TaoToken 的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 12:26:42 阅读更多 →
A股机器学习预测源码包实战:从数据落库到LSTM回测的完整流水线

A股机器学习预测源码包实战:从数据落库到LSTM回测的完整流水线

简介:这份资源面向对量化投资与机器学习感兴趣的开发者、金融数据分析学习者,提供一套完整的A股股票走势预测系统源码,帮助理解如何用算法从历史行情中挖掘价格变动规律。压缩包共12个文件,约2.53MB,包含6个ipynb交互式…

2026/10/12 12:26:42 阅读更多 →
Devin 全自动 AI 程序员上岗实测:TaoToken 统一 Key 接入值不值 500 美元?

Devin 全自动 AI 程序员上岗实测:TaoToken 统一 Key 接入值不值 500 美元?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 12:26:42 阅读更多 →
客户拜访记录散、乱、丢?企业级客户拜访沉淀的完整实操指南

客户拜访记录散、乱、丢?企业级客户拜访沉淀的完整实操指南

客户拜访结束后,很多人都会遇到同一个尴尬:明明聊了很多,回到公司却只记得零散几句。客户提过的预算、决策人、竞品情况、成交顾虑,散落在微信、纸质笔记、手机录音和个人记忆里。更麻烦的是,这些信息往往只留在销售个…

2026/10/12 12:26:42 阅读更多 →
AI漫剧工业化流水线:零基础量产的结构化工作流

AI漫剧工业化流水线:零基础量产的结构化工作流

1. 这不是“AI绘画课”,而是一套可复用的漫剧工业化流水线 “零基础 AI 漫剧智能量产创作营”——光看标题,很多人第一反应是:又一个教人用MidJourney画美女图的速成班?或者换个马甲的Stable Diffusion参数调优课?我最…

2026/10/12 12:25:42 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →