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 [...]
不太明白“clobber”这个词的意思。 “狠狠地打(某人)”。或“严厉对待或处理”。 gcc 手册 6.45.2.6 Clobbers
这里的“Clobber”是“任意覆盖”的常用行话。换句话说,声明一个寄存器为“clobbered”告诉编译器这个寄存器可能被其他任意值覆盖,编译器不应该在 asm 代码完成时假设它的内容;它以前的值被认为丢失了。
大致是从“击中”的意思出发:类比是覆盖寄存器就像破坏或破坏其先前的值,就好像用物理力一样。
手册进一步定义了它:
Clobbers: A comma-separated list of registers or other values changed by the AssemblerTemplate [...]