GCC 的内联汇编中单词 "clobber" 的含义是什么

What's meaning of word "clobber" in inline asm of GCC

不太明白“clobber”这个词的意思。 “狠狠地打(某人)”。或“严厉对待或处理”。 gcc 手册 6.45.2.6 Clobbers

这里的“Clobber”是“任意覆盖”的常用行话。换句话说,声明一个寄存器为“clobbered”告诉编译器这个寄存器可能被其他任意值覆盖,编译器不应该在 asm 代码完成时假设它的内容;它以前的值被认为丢失了。

大致是从“击中”的意思出发:类比是覆盖寄存器就像破坏或破坏其先前的值,就好像用物理力一样。

手册进一步定义了它:

Clobbers: A comma-separated list of registers or other values changed by the AssemblerTemplate [...]