在 John Viega 的《安全编程 C 和 C++ 秘籍》中,我遇到了以下陈述。
asm("value_stored: \n"
".long 0xFFFFFFFF \n"
);
我不太理解汇编中.long
指令的用途,但它被用于将预先计算的值嵌入可执行文件中。我能否以某种方式强制这些字节在可执行文件中的位置?我尝试将其放在main
结尾(认为这样会在.text
段的末尾),但出现了分段错误。将其放在main外部可以。
long value_stored = 0xFFFFFFFF;
来实现相同的效果。 - UmNyobestatic unsigned long const value_stored = 0xFFFFFFFF;
就会做类似的事情。 - chqrlie