你知道自修改代码(Self-Modified Code, SMC)在哪些场景有应用?

麦站管理员 50 2025-06-28 06:50:10

内容页头部广告位(PC)
内容页头部广告位(WAP)

Linux kernel 在启动时如果发现 CPU 只有一个核,会把所有 LOCK 前缀都修改为 NOP。

为了高效实现修改,代码里做了一个很骚的操作来把所有 LOCK 前缀的位置保存下来: #define LOCK_PREFIX_HERE \ ".pushsection .smp_locks,\"a\" " \ ".balign 4 " \ ".long 671f - . " /* offset */ \ ".popsection " \ "671:" #define LOCK_PREFIX LOCK_PREFIX_HERE " \tlock "(以上代码见 arch/x86/include/asm/alternativ…。

你知道自修改代码(Self-Modified Code, SMC)在哪些场景有应用?
内容页头部广告位(PC)
内容页头部广告位(WAP)
上一篇:Go 语言 Web 应用开发框架,Iris、Gin、Echo,哪一个更适合大型项目? 下一篇:Rust有什么好用的CLI库吗?
相关文章
最新评论

评论记录:

未查询到任何数据!