你知道自修改代码(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
相关阅读
家里想搞一个服务器,怎么才不违规?

家里想搞一个服务器,怎么才不违规?

一个个危言耸听,拿着鸡毛当令箭,像极了装在套子里的别里科夫:...

2025-06-19
西方人是怎么发现地球是圆的的?

西方人是怎么发现地球是圆的的?

看了高赞回答,很多人心里完全接受不了,2000多年前的古希腊...

2025-06-20
如何评价福原爱?

如何评价福原爱?

前几天奥运,看了几次福原爱和方博的直播切片,感觉有点可怕。 ...

2025-06-19
用Django开发web后端,真的比SpringBoot要省事吗?

用Django开发web后端,真的比SpringBoot要省事吗?

谢邀!兄弟,这个问题你可算问对人了,Django和Sprin...

2025-06-20
这个世界有多少用WinRAR的付费用户?

这个世界有多少用WinRAR的付费用户?

据说国家电网***购过 WinRAR,后来密钥文件泄漏了。 ...

2025-06-20