我正在使用MinGW创建Win32 exe。
我想创建一个具有固定大小的内存段,然后在该段内相对于段开头的固定地址处放置变量。有谁知道如何做到这一点?

我可以用以下方法声明自己的细分:

  .codeflash BLOCK(__section_alignment__) :
  {
    __codeflash_start__ = . ;
    *(.codeflash)
    __codeflash_end__ = . ;
  }


并使用以下命令将变量放入此段中:

__attribute__((section(".codeflash")))


我正在使用默认的链接描述文件。

谢谢。

最佳答案

假设从段的开头开始为0x100字节

  .codeflash BLOCK(__section_alignment__) :
  {
    . += 0x100;
    __codeflash_start__ = . ;
    KEEP(*(.codeflash))
    KEEP(*(.codeflash*))
    __codeflash_end__ = . ;
  }

09-06 10:53