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

2025-06-28 01:35:11

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)在哪些场景有应用?
广告位810*200
相关阅读
胸大的女孩会自卑 吗?

胸大的女孩会自卑 吗?

我75e还不算夸张,一到夏天会非常难受,尤其是工作穿工装的时...

2025-06-21
MacOS真的比Windows流畅吗?

MacOS真的比Windows流畅吗?

说实话,我很有发言权。 手上刚买一台13寸MacBook ...

2025-06-21
国家为什么特别青睐雷军?

国家为什么特别青睐雷军?

我回答一个真正被国家青睐的人。 单位的电脑很破旧了,系统还...

2025-06-21
为什么中国JK无法拍出日本JK的感觉?

为什么中国JK无法拍出日本JK的感觉?

三个原因 第一,我们所了解的日本女高中生的校服形象,大半是动...

2025-06-21
为什么面向对象编程这么困难?

为什么面向对象编程这么困难?

因为面向过程编程,最符合人类直觉。 毕竟我们刚开始学习编程语...

2025-06-21