我正在将一个用于 ARM 芯片的程序从 IAR 编译器移植到 gcc。
在原始代码中,IAR 特定的运算符如__segment_begin
和__segment_size
用于分别获取某些内存段的开头和大小。
有什么办法可以用 GCC 做同样的事情吗?我搜索了 GCC 手册,但找不到任何相关内容。
更多细节:
有问题的内存段必须位于固定位置,以便程序可以与芯片上的某些外围设备正确连接。原始代码使用__segment_begin
运算符来获取此内存的地址并__segment_size
确保它不会溢出此内存。
我可以通过添加变量来指示这些内存段的开始和结束来实现相同的功能,但是如果 GCC 具有类似的运算符,这将有助于最大限度地减少依赖于编译器的代码的数量,我最终不得不编写和维护。