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

2025-06-28 00:30:16

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
相关阅读
如何建一个安全的个人nas?

如何建一个安全的个人nas?

装了飞牛 OS,安装了多个 Web 应用,比如个人博客、Gi...

2025-06-25
为什么很多外行敢站出来评价中医?

为什么很多外行敢站出来评价中医?

我举个例子吧! 脑胶质瘤,全世界最狠的癌症之一,三四级无药可...

2025-06-25
如何看待越来越多程序员选择让孩子继续从事编程工作,成为码二代?

如何看待越来越多程序员选择让孩子继续从事编程工作,成为码二代?

我给大家讲个1000‰真实的故事: 上初中时,我好好学习,因...

2025-06-25
为什么大部分人都认为2560x1440是2K?

为什么大部分人都认为2560x1440是2K?

你说这个我就精神了,咱们来讨论一下USB1.0 ,USB2....

2025-06-25
该怎么反驳有的人说;“东德和西德,朝鲜和韩国就是上帝摆出来最大的例子”?

该怎么反驳有的人说;“东德和西德,朝鲜和韩国就是上帝摆出来最大的例子”?

为什么要反驳。 你对整个世界的意识形态了解的并不透彻。 ...

2025-06-25