如何在 gcc 的特定部分中放置一组变量,arm 是不是有类似 #pragma default_variable_attributes 的东西
Posted
技术标签:
【中文标题】如何在 gcc 的特定部分中放置一组变量,arm 是不是有类似 #pragma default_variable_attributes 的东西【英文标题】:How do I place a group of variables in a specific section in gcc, is there anything like #pragma default_variable_attributes available with arm如何在 gcc 的特定部分中放置一组变量,arm 是否有类似 #pragma default_variable_attributes 的东西 【发布时间】:2016-01-06 16:37:12 【问题描述】:以下链接 https://www.iar.com/support/tech-notes/linker/how-do-i-place-a-group-of-functions-or-variables-in-a-specific-section/ 解释了如何将一组变量放在特定部分中,这是使用 IAR arm 链接器。
从此处的链接粘贴示例(我想要一个 gcc 等效项)
/* Place following data in section MY_DATA */
#pragma default_variable_attributes = @ "MY_DATA"
int data1;
int data2;
/* Stop placing data in section MY_DATA */
#pragma default_variable_attributes =
在 gcc 中我们有没有这样的功能,这有助于我在源代码中定义变量如何连续放置。
问候
【问题讨论】:
【参考方案1】:使用 gcc,您可以使用编译器的 __attribute__
声明符语法扩展,例如
int my_global_1 __attribute__ ((section ("MyData"))) = 0;
int my_global_2 __attribute__ ((section ("MyData"))) = 0;
__attribute__ ((section ("MyFuncs"))) int foo(int i)
return i * i;
【讨论】:
谢谢 Mike,我之前已经尝试过了……但上次犯了一个错误,其中一个变量被提到为 const,这导致了一些错误。您的回答帮助我重新审视了宣言。以上是关于如何在 gcc 的特定部分中放置一组变量,arm 是不是有类似 #pragma default_variable_attributes 的东西的主要内容,如果未能解决你的问题,请参考以下文章
在Ubuntu下,安装arm-linux-gcc交叉编译器,环境变量也都设置好了,运行arm-linux-gcc 提示未找到命令
在Ubuntu下,安装arm-linux-gcc交叉编译器,环境变量也都设置好了