我正在检查 GNU GRUB 源代码并在 /grub-core/boot/i386/pc/*.S 文件,有很多 .= 标记。这是一张来自 /grub-core/boot/i386/pc/boot.S 文件(第 409-414 行):

    /*
     *  Windows NT breaks compatibility by embedding a magic
     *  number here.
     */

    . = _start + GRUB_BOOT_MACHINE_WINDOWS_NT_MAGIC

我想知道的是 .= 方法。

有帮助吗?

解决方案

在 GAS 中,也许在其他汇编器中,特殊符号 . 指的是汇编器将汇编到的当前地址。诸如上面的语句控制着以下代码的字节的组装位置。

的文档 . 运算符是 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top