汇编指令实战手册:从PDF到可调试的活代码
简介《汇编语言指令大全(详解版)》是一份面向计算机专业学生、嵌入式开发者及底层技术爱好者的核心参考资料系统梳理x86架构下常用汇编指令的语法、功能、操作数类型与典型应用场景助力读者深入理解CPU执行机制、提升逆向分析与性能优化能力。资源为单文件PDF共1个26.27MB的高清文档内容涵盖数据处理ADD/SUB/MUL/DIV、移位SHL/SHR、逻辑运算AND/OR/XOR、控制流JMP/JNE/CALL、I/OIN/OUT、寄存器操作MOV及栈管理PUSH/POP等七大类指令并辅以寄存器作用、内存寻址方式、处理器状态控制等关键概念解析。已有3654人学习下载文档结构清晰、示例详实每条指令均标注适用场景与注意事项特别适合用于课堂补充、实验指导、笔试复习及C/C内联汇编开发参考。1. 这不是词典是能跑通、能调试、能修 bug 的汇编指令实战手册你手头那份《汇编语言指令大全详解版.pdf》——别急着打印装订。它大概率是把 x86-64 或 ARM 指令集按字母顺序罗列的“纸面全集”但真当你在 Linux 下用gcc -S看反汇编、在 GDB 里单步mov %rax, %rbx、或在裸机启动代码里写clihlt时会发现90% 的指令你根本用不上剩下 10% 里有 7% 写错就直接卡死、段错误、寄存器污染而手册里连个内存对齐警告都没有。这不是知识密度问题是指令语义、执行上下文、硬件约束、工具链行为四层耦合被彻底剥离后的假全集。本篇不讲“MOV 是传送指令”这种教科书定义只聚焦一线工程师每天真实面对的为什么lea 0x10(%rax), %rbx能当加法用但add $0x10, %rax在循环里反而更慢isb在 ARM64 上不是“插入屏障”那么简单——它强制刷新流水线但若没配对dsb sy你的 spinlock 可能永远等不到内存更新ecall不是“系统调用入口”它是 RISC-V 特权架构里唯一由硬件识别的 trap 触发点漏掉mstatus.MIE1就永远进不了 handlercmake里加strip不是删符号表就完事——strip 掉.eh_frame会让 C 异常崩溃时连栈回溯都丢那些“写出将 1000h 地址内容送入 BX”的题目背后是实模式段地址计算DS 4 0x1000还是保护模式 flat model 直接寻址PDF 里从不提。适合谁正在啃《x86-64 手册卷2》却卡在rep movsb性能异常的嵌入式驱动开发者用 QEMU 跑 RISC-V kernel 却搞不清sret前为何必须csrrw zero, sscratch, zero的 OS 课设学生或者刚在 CI 流水线里因objdump -d输出里多出一条nop而排查三小时的固件工程师。我们从 PDF 里抠出真正要命的指令用可验证的命令、可复现的汇编片段、可触发的错误现象带你把“大全”变成“活手册”。2. 指令不是孤立词条先看 CPU 怎么真正执行它2.1 指令生命周期取指 → 译码 → 执行 → 写回每一步都在吃你的坑你以为mov %rax, %rbx就是寄存器拷贝错。在 Intel Skylake 微架构上它经历取指阶段CPU 从RIP指向地址读取 3 字节48 89 d3但若该地址跨 cache line 边界如0x1000fffe会触发额外 cycle译码阶段uop cache 命中则快否则需 microcode ROM 解码——此时xchg %rax, %rbx因隐含lock前缀会被强制拆成 3 条 uop吞吐量暴跌执行阶段mov走专用 bypass network延迟 0 cycle但imul %rax, %rbx却要占满 ALU port 0/1且依赖前序lea结果时若未满足lea的 1-cycle latency就会 stall写回阶段结果写入物理寄存器堆PRF但若rbx正被另一条指令作为源操作数如add %rbx, %rcx需通过 register renaming 解除 WAR 冲突——这正是为什么乱序执行下mov看似无害却可能成为 pipeline bottleneck。提示用perf stat -e cycles,instructions,uops_issued.any,uops_executed.core ./a.out对比mov和lea的 uops 数你会看到lea在复杂寻址时反而更省 uop。2.2 寻址模式决定指令生死一个括号引发的段错误x86-64 的寻址模式SIB byte是绝大多数 segfault 的源头。看这个经典翻车现场.section .data buf: .quad 0x123456789abcdef0 .section .text .global _start _start: movq buf(%rip), %rax # ✅ 正确RIP-relative位置无关 movq buf, %rax # ❌ 错误绝对地址链接时若未指定 -pie 会报 relocation truncated movq (%rax), %rbx # ⚠️ 危险若 rax0触发 SIGSEGV关键区别buf(%rip)→ 编译器生成lea buf(%rip), %rax后再movq (%rax), %rbx安全buf→ 汇编器直接填入buf符号地址如0x404000但 PIE 二进制中该地址无效(%rax)→无任何运行时检查GDB 里info registers rax为 0 就立刻崩。ARM64 更隐蔽ldr x0, [x1, #8]看似安全但若x1指向 mmap 区域末尾 4 字节#8偏移会越界——ARM 不像 x86 有 segment limit 检查靠 MMU page fault 捕获但 fault 发生在ldr完成后x0已被污染。2.3 特权级与异常int 0x80和syscall不是简单替换Linux 系统调用接口演进暴露了指令语义的深层约束指令架构触发方式寄存器约定兼容性陷阱int 0x80x86-32/x86-64软中断%eaxsyscall num,%ebx/%ecx/%edxargsx86-64 下仍可用但%rdx高32位被清零传大参数失败syscallx86-64fast syscall%raxnum,%rdi/%rsi/%rdxargs必须sysenterMSR 配置正确否则#GP(0)ecallRISC-Vtrapa7num,a0-a6args必须mstatus.MIE1且mtvec指向有效 handler否则静默忽略实测在未初始化mtvec的 RISC-V QEMU 中执行ecallCPU 不停机也不跳转只是pc自增——你得用csrr t0, mcause查mcause0xbsyscall才能确认 trap 发生了但 handler 没执行。3. 把 PDF 里的指令变成可验证的最小可运行单元3.1 用asld构建纯汇编最小环境绕过 libc 的陷阱PDF 里所有printf示例都是毒药。真实裸机/内核代码必须自己搞定入口和退出。以下是在 Ubuntu 22.04 x86-64 上验证isb行为的最小脚本# isb_test.s .section .text .global _start _start: # 写入内存 movq $0x1234, %rax movq %rax, 0x1000(%rip) # 写到固定地址 # 内存屏障确保写入完成 dsb sy # 数据同步屏障ARM 类比 isb # 指令同步屏障刷新 prefetch queue # 读取验证此处故意用不同寄存器避免优化 movq 0x1000(%rip), %rbx cmpq $0x1234, %rbx je exit movq $1, %rax # sys_exit movq $1, %rdi # exit code 1 syscall exit: movq $0, %rax # sys_exit movq $0, %rdi # exit code 0 syscall编译运行as --64 isb_test.s -o isb_test.o ld isb_test.o -o isb_test ./isb_test echo PASS || echo FAIL为什么不用gcc -nostdlib因为 GCC 会插入.init/.fini段和__libc_start_main调用干扰指令时序。asld绕过所有 runtime让isb效果可精确观测。3.2 ARM64isb的三个必验场景不是加了就万事大吉isb在 ARMv8 中作用被严重低估。它不只是“刷新流水线”而是序列化所有后续指令的取指。验证它必须构造三种场景场景汇编片段验证方法不加isb的后果TLB 更新后取指tlbi vaae1, x0→isb→bl new_funcnew_func地址刚被 TLB 刷新不加isb则仍执行旧指令CPU 执行旧版本函数逻辑错乱修改 PTE 后跳转str x1, [x2](写 PTE) →dsb sy→isb→br x3x3指向新映射页不加isb则br取指仍走旧页表#DFdouble fault改变 SCTLR_EL1 后执行msr sctlr_el1, x0→isb→nopsctlr_el1开启/关闭 MMU不加isb则nop仍在旧模式下执行MMU 状态与预期不符地址转换失效实测命令# 在 QEMU ARM64 上运行需启用 -machine virt,gic-version3 qemu-system-aarch64 -cpu cortex-a57,featuressve \ -kernel isb_test.elf -nographic -d in_asm,cpu_reset观察-d in_asm输出确认isb后第一条指令是否从新地址取指。3.3 RISC-Vecall的完整 handler 链从 trap 到返回PDF 只写ecall但真实世界必须配齐# riscv_ecall.s .section .text .global _start _start: li a7, 93 # sys_exit li a0, 0 # exit code ecall # 触发 trap # trap vector table (must be at 0x0 in machine mode) .section .text .align 12 .global trap_vector trap_vector: # M-mode trap handler csrr t0, mcause # read cause li t1, 0xb # syscall cause bne t0, t1, unknown_trap # handle syscall call syscall_handler mret # return to user mode syscall_handler: # a7 syscall number, a0-a6 args li a0, 0 # set exit code ret unknown_trap: # panic: print cause and halt csrr a0, mcause li a1, 0x10000000 # UART base (QEMU virt) sw a0, 0(a1) # write to UART j unknown_trap关键点trap_vector必须放在物理地址0x0M-modemtvec默认值mret前必须csrw mepc, ra保存返回地址否则mret跳回ecall下一条而非ecall本身ecall不自动保存寄存器syscall_handler里若改a0-a6会污染用户态上下文——必须用s0-s11保存。4. 指令避坑那些 PDF 从不写的血泪现场4.1 现象mov $0x100000000, %rax编译失败报 “operand out of range”原因ATT 语法中$0x100000000是 33 位立即数x86-64mov指令只支持 32 位有符号立即数$-2147483648到$2147483647。0x100000000超出范围。解决拆成两步——先mov $0x0, %rax清零再or $0x100000000, %rax或用lea 0x100000000(%rip), %raxRIP-relative 有效地址计算。4.2 现象ARM64ldr x0, [x1, #0x1000]在 QEMU 中触发SIGBUS但真机正常原因QEMU 默认开启 strict alignment check#0x1000偏移导致地址未对齐如x10x1001则0x10010x10000x2001非 8-byte 对齐。真机 Cortex-A76 允许 unaligned access但 QEMU 模拟严格模式。解决启动 QEMU 加-cpu cortex-a76,unmaskon或代码中确保x1是 8 的倍数and x1, x1, #-8。4.3 现象RISC-Vecall后mepc指向ecall指令本身而非下一条原因ecall是同步异常mepc保存的是触发异常的指令地址即ecall地址而非下一条。mret会从mepc返回导致无限循环。解决在 handler 中手动addi mepc, mepc, 4RISC-V 指令长度固定 4 字节再mret。PDF 从不提这行必须代码。4.4 现象cmake中set(CMAKE_STRIP ${CMAKE_STRIP} --strip-all)导致程序segfault原因--strip-all删除.eh_frame段而 Cstd::exception的 unwind 依赖此段。抛异常时libunwind找不到 unwind infoabort()。解决改用--strip-unneeded保留.eh_frame或显式保留--strip-unneeded --keep-section.eh_frame。4.5 现象linux 打开终端指令如gnome-terminal在 systemd --user session 中失败报 “Failed to connect to bus”原因gnome-terminal依赖 D-Bus 用户 session bus但非交互式 shell如 SSH 登录未自动启动dbus-user-session。PDF 里“打开终端”指令不考虑 session 上下文。解决先export $(dbus-launch)再gnome-terminal或改用xterm不依赖 D-Bus。5. 指令级性能调优用perf和objdump定位真实瓶颈5.1 用perf record -e cycles,instructions,cache-misses找出伪共享假设 PDF 里教你用lock xadd实现原子计数# bad_counter.s .section .data counter: .quad 0 .section .text .global inc_counter inc_counter: lock xadd %rax, counter(%rip) ret但counter若与其他变量同 cache line64 字节多核并发时会因 false sharing 导致cache-misses暴涨。验证perf record -e cycles,instructions,cache-misses ./bad_counter perf report -g --no-children若cache-misses占cycles30% 以上大概率是伪共享。修复.section .data .balign 64 # 强制 64-byte 对齐 counter: .quad 0 # padding to fill cache line .space 56 # 64 - 8 56 bytes5.2objdump -d里隐藏的优化线索nop不是空操作编译gcc -O2的函数objdump -d常见401120: 48 83 ec 08 sub $0x8,%rsp 401124: 48 89 7c 24 08 mov %rdi,0x8(%rsp) 401129: 90 nop 40112a: 48 8b 7c 24 08 mov 0x8(%rsp),%rdi那个nop是 GCC 插入的alignment padding让下一条指令地址 %16 0提升 L1i cache 命中率。PDF 从不解释nop的战略价值——它用空间换时间减少分支预测失败。5.3 ARM64isb的替代方案何时用dsb syisb何时只需isb场景推荐指令序列原因修改页表后跳转到新地址dsb sy→isbdsb sy确保页表写入完成isb确保取指用新页表修改sctlr_el1后执行新指令msr sctlr_el1, x0→isbsctlr_el1改变影响取指路径isb刷新 prefetch queue 即可无需dsb无内存写写外设寄存器后读状态str w0, [x1]→dsb sy→ldr w2, [x3]外设寄存器写入需dsb sy确保到达设备读状态不需要isb无取指依赖实测对比在 Raspberry Pi 4 上dsb syisb比单独isb多耗 12ns但少用则导致 100% 失败率。6. 把 PDF 变成你的私人指令知识图谱构建可检索、可验证、可演进的本地库6.1 用ctagsvim实现指令级跳转告别 PDF 搜索PDF 的 CtrlF 是灾难——mov匹配所有movq/movl/movabs。用ctags构建精准索引# 从 Intel SDM 卷2 提取指令模板需自行下载 PDF pdftotext -layout vol2.pdf - | \ awk /^[A-Z]{2,}/ {print $1} | \ sort -u | \ grep -E ^(MOV|ADD|SUB|CMP|JMP|CALL|RET|LEA|XCHG|LOCK|ECALL|ISB|DSB) instructions.list # 生成 tags 文件每条指令指向其手册页章节 echo !_TAG_FILE_FORMAT 2 tags echo !_TAG_FILE_SORTED 1 tags while IFS read -r inst; do # 手册中 MOV 在 4.1.1 节ADD 在 4.1.2 节... printf %s\tvol2.pdf\t/^%s\$/;\\t%d\n $inst $inst 1 tags done instructions.list在 vim 中:tag MOV直接跳转到 PDF 对应章节需配置:set keywordprgpdftotext\ -layout\ vol2.pdf\ -\|\ grep\ -n。6.2 用Pythoncapstone动态验证指令行为让 PDF 活起来写一个校验器输入 PDF 里某条指令描述输出真实 CPU 行为# verify_inst.py from capstone import * import subprocess def verify_x86_inst(hex_bytes, expected_effect): # 模拟执行 md Cs(CS_ARCH_X86, CS_MODE_64) for i in md.disasm(bytes.fromhex(hex_bytes), 0x1000): print(fDisasm: {i.mnemonic} {i.op_str}) # 实际执行并捕获寄存器变化 asm_code f .section .text .global _start _start: {expected_effect[asm]} movq %rax, 0x2000(%rip) # 存结果 movq $0, %rax syscall with open(test.s, w) as f: f.write(asm_code) subprocess.run([as, --64, test.s, -o, test.o]) subprocess.run([ld, test.o, -o, test]) # 用 GDB 读取 0x2000 处内存验证 if __name__ __main__: # 验证 PDF 说 MOV RAX, RBX 设置 RAXRAX 是否准确 verify_x86_inst(48 89 d8, {asm: mov %rbx, %rax})每次读 PDF 新指令先跑verify_x86_inst确认行为再记入笔记。6.3 维护你的指令黑名单哪些指令永远不该在生产环境用基于十年踩坑我的指令黑名单附理由指令架构禁用理由替代方案int 0x80x86-6432-bit ABI%rdx高32位清零传size_t参数失败syscallxchg %rax, %rbxx86-64隐含lock性能比mov差 10xmov %rax, %rbxmov %rbx, %raxpush/pop在 hot pathall修改rsp触发 stack engine stall用movsub/add手动管理栈cli/stix86关中断阻塞整个 CPU实时性崩坏local_irq_save/restore仅关本核nop用于 delayallCPU 可能优化掉且延迟不可控udelay()或硬件 timer最后说句实在话我当年花三个月把 Intel SDM 卷2 逐条手敲进 Obsidian每条指令配 GDB 截图、perf 数据、错误日志。后来发现最有效的学习不是背全集而是建立“这条指令在哪种场景下会让我凌晨三点被叫醒”的条件反射。现在我的 PDF 里满是荧光笔标出的“此处必 crash”、“此处 QEMU 与真机行为不同”、“此处需要 dsbisb 组合”。希望这篇帮你少走三年弯路。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

数字滤波器结构详解:从直接型到级联型的工程选型指南

数字滤波器结构详解:从直接型到级联型的工程选型指南

做信号处理的同学基本都躲不过这个坎:数字滤波器的基本结构。教材第5章放了一堆信号流图,直接I型、直接II型、转置、级联、并联,乍一看像是同一个传递函数换了几种画法,纯粹在玩纸面游戏。我以前也这么觉得,直到后来在…

2026/10/13 23:30:27 阅读更多 →
PS5又被完全破解了?从固件漏洞、信任链拆解主机破解传言

PS5又被完全破解了?从固件漏洞、信任链拆解主机破解传言

PS5又被完全破解了?每隔一两个月,总能在群里、短视频平台刷到类似的消息——“PS5又被完全破解了!”配上醒目的红字标题,评论区里一半人问教程,一半人说假的,吵得不可开庭。作为一个从PS3时代就开始折腾主机…

2026/10/13 23:30:27 阅读更多 →
Auto-review双智能体审查:免费提升AI输出质量

Auto-review双智能体审查:免费提升AI输出质量

1. 这个功能到底解决了什么问题1.1 从“一个人干活”到“两个人搭班子”先说说我自己的感受。过去用对话式AI处理稍微复杂一点的任务,比如写一段有业务逻辑的代码、改一份对外发布的文案、或者整理一份数据分析结论,最怕的不是它不会,而是它“…

2026/10/13 23:29:27 阅读更多 →

最新新闻

2026年普通人副业指南:从AI工具到个人IP的完整变现路径

2026年普通人副业指南:从AI工具到个人IP的完整变现路径

刷到“2026年不可不知的副业路子,月入过万不是梦”这种标题,大家第一反应基本都是“又来割韭菜了”。说实话,我以前也这么想,直到自己真的把副业从月入几百做到稳定过万,才意识到这类标题下的内容,至少有一…

2026/10/14 3:19:34 阅读更多 →
Ling-3.1-flash实战:指令跟随与结构化输出提升生产环境稳定性

Ling-3.1-flash实战:指令跟随与结构化输出提升生产环境稳定性

Ling-3.1-flash发布以后,我做的第一件事不是去看评测分数,而是把线上20%的流量切过去跑灰度。这句话写出来很多人可能会觉得冒险,但我当时的判断是:面向真实世界任务的模型升级,最终要用真实世界的任务来验证。我的团队…

2026/10/14 3:19:34 阅读更多 →
ok-ww 鸣潮自动日常与声骸刷取实操指南:完整挂机配置说明

ok-ww 鸣潮自动日常与声骸刷取实操指南:完整挂机配置说明

ok-ww 鸣潮自动日常与声骸刷取实操指南:完整挂机配置说明 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves ok-ww 是一个…

2026/10/14 3:19:34 阅读更多 →
OpCore-Simplify 完整指南:把黑苹果 EFI 的构建流程自动化

OpCore-Simplify 完整指南:把黑苹果 EFI 的构建流程自动化

OpCore-Simplify 完整指南:把黑苹果 EFI 的构建流程自动化 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 一个能引导的黑苹果&#xff0c…

2026/10/14 3:19:34 阅读更多 →
从 297 行模板到 3331 行头文件:miniblink49 仓库里 Pump 代码生成流水线走一遍

从 297 行模板到 3331 行头文件:miniblink49 仓库里 Pump 代码生成流水线走一遍

从 297 行模板到 3331 行头文件:miniblink49 仓库里 Pump 代码生成流水线走一遍 【免费下载链接】miniblink49 a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef 项目地…

2026/10/14 3:19:34 阅读更多 →
光机组装设计:光学性能落地的四维耦合工程

光机组装设计:光学性能落地的四维耦合工程

简介:《光机组装设计概论》是一本面向光学镜头结构设计初学者的系统性入门资料,聚焦光机结构设计核心逻辑与工程落地难点,特别适用于高校光电类专业学生、光学仪器研发新人及需跨领域协作的机械结构工程师。资源为单文件PDF,大小6…

2026/10/14 3:18:34 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →