gpt4 book ai didi

gcc - 如何从 C 代码引用段开头和大小

转载 作者:行者123 更新时间:2023-12-02 05:16:02 24 4
gpt4 key购买 nike

我正在将 ARM 芯片的程序从 IAR 编译器移植到 gcc。

在原始代码中,IAR 特定的运算符(例如__segment_begin__segment_size)用于分别获取某些内存段的开头和大小。

有没有办法用 GCC 做同样的事情?我搜索了 GCC 手册,但找不到任何相关内容。

<小时/>

更多详情:
所讨论的内存段必须位于固定位置,以便程序可以与芯片上的某些外设正确连接。原始代码使用__segment_begin运算符来获取该内存的地址,并使用__segment_size来确保不会溢出该内存。

我可以通过添加变量来指示这些内存段的开始和结束来实现相同的功能,但如果 GCC 有类似的运算符,这将有助于最大限度地减少我最终必须编写和维护的编译器相关代码的数量。

最佳答案

链接器的标志--section-start怎么样?我读到的支持here .

有关如何使用它的示例可以在 AVR Freaks Forum 上找到。 :

const  char  __attribute__((section (".honk"))) ProjString[16] = "MY PROJECT V1.1";

然后,您必须添加到链接器的选项:-Wl,--section-start=.honk=address

关于gcc - 如何从 C 代码引用段开头和大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com