我想在内存中的特定位置创建对象,在我的情况下它的地址为0x64000000,这是外部ram,我知道这个内存是空的(即没有任何内存写入,读取或执行)。 到目前为止似乎很稳定。
我在stm32f4上运行它。
使用这样的贴图是否有任何危险,如果是这样,有没有其他方法可以将对象创建到特定的内存地址?
答案 0 :(得分:4)
如果你真的知道内存是空的(堆栈没有使用,也没有动态存储 - 如果它甚至可用,那么它是安全的。没有任何情况下C ++标准保证这样的东西 - 你留给依靠硬件/运行时实现文档。
如果必须将程序移植到其他硬件,程序可能需要更改。它不适用于任何使用虚拟内存的系统。