我在嵌入式C源文件中遇到了以下定义:
const preamble_t OAD_Preamble @ ".preamble" =
{
HAL_OAD_RC_MAX, // Default program length of max if not using post-processing tool.
OAD_MANUFACTURER_ID, // Manufacturer ID
OAD_TYPE_ID, // Image Type
0x00000001 // Image Version
};
我不知道@部分,你能帮我解决这个问题吗?
编辑: 这是在IAR编译器中,与TI SoC一起使用。
答案 0 :(得分:9)
这是您可以指定内存地址或放置变量的部分的方式。
".preamble"
是部分的名称,OAD_Preamble
是要放在那里的变量。您还可以在@
符号后指定实际地址:
const unsigned char port_bit @ 0x1800 = BIT0;
更多信息位于this document。
注意:这是一个非可移植的编译器扩展,不是标准C语法的一部分。