有没有办法告诉 GCC 不要将特定的全局数组初始化为零?
我想保留一大块内存来存储我的代码管理的大型数据结构,所以我说:
#define SIZE_16_MB 0x01000000
BYTE mChunkSpace[SIZE_16_MB];
问题是 crtinit() 需要一百万年才能将这个空间初始化为零,而且根本没有必要。
有什么办法可以强制它不初始化那个空间?
目前我正在硬编码一个超出链接器所知的内存地址,但这不是一种特别强大的做事方式。
此外,这是一个缓慢的嵌入式 proc(50MHz Microblaze),所以不要假设我在谈论 PC。确实需要很长时间才能将该空间归零。