C ++将数据成员放在链接器部分中

时间:2015-11-07 15:57:53

标签: c++ c linker

考虑一个微控制器具有有限SRAM和更大(外部)SDRAM的设置。 我正在编写一个类,它有许多应该驻留在快速SRAM中的数据成员和一个应该在SDRAM中的大缓冲区(只是一个数组)。 目前我使缓冲区静态并使用__attribute __((section(“。sdram”)))将其映射到SDRAM。但是,这种方法存在两个问题:

  1. 缓冲区不应该是静态的,因为它属于对象(我可能在某个时候想要添加另一个这样的对象。)
  2. 当类是模板时,我的方法不起作用:__attribute __((section(“。sdram”)))被忽略。
  3. 那么:有没有办法,让(模板)类的(单个)数据成员驻留在另一个链接器部分,以及如何?

    我正在使用arm-none-eabi-gcc 5.2.0,如果这很重要,但可能希望稍后切换到clang,所以欢迎clang的解决方案。

    祝你好运, MOX

0 个答案:

没有答案