我正在使用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__ = . ;
}