attribute(section) 是一个 GCC 编译器的扩展,它允许开发人员把编译的代码放到指定的内存段中。这个特性常常用于在程序中定义常量数组,将它们放在 ROM 中,从而节省 RAM 空间。
使用方法是在变量或函数前面加上 attribute((section("section_name"))),section_name 是你希望把代码放到哪个内存段的名字。例如:
int foo __attribute__((section("foo_section"))) = 0;
这样,编译器会把 foo 变量放到名为 "foo_section" 的内存段中