This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

有没有办法可以将数组分配到指定的地址



我想定义一个数组,并且数组的首地址是我自己指定的,用的是c语言,平台式c6678。不知道有没有这样的用法。指针是可以定义一个固定的地址,但是对该地址后面数据写的时候可能会覆盖其他有用的数据。

  • 只有全局数组可以分配到指定的地址,可以在.cmd文件里指定MEMORY和SECTION

    比如

    MEMORY

    {

    ....

    USER:      o = 0x10800000 l = 0x00000400 

    }

    SECTIONS

    {

    .user_array > USER

    }

    然后定义数组之前

    #pragma DATA_SECTION(a, ".user_array")

    int a[256];

    则数组a是从0x10800000开始的数组,注意.cmd里定义数据段一般不要和其它段重叠。