在不隔离内存的情况下使用新的位置是安全的吗?
Is it safe to use placement new without alocating memory?
我想将对象创建到内存中的特定位置,在我的情况下,它是地址0x64000000,这是外部ram,我知道此内存是空的(即没有任何内容,没有任何内容写入,读取,读取或执行记忆(。到目前为止看起来稳定。
我在STM32F4上运行此操作。
使用此类新的位置有任何危险,如果是这样,是否有其他方法将对象创建到特定的内存地址?
如果您确实知道内存是空的(堆栈不使用,也不是动态存储 - 如果这甚至可用,则它是安全的。实际上没有任何情况C 标准保证了这样的事情 - 您要依靠硬件/运行时实现文档。
如果必须将其移植到其他硬件,则该程序可能需要更改。它在任何使用虚拟内存的系统上都无法使用。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 虚拟决赛作为安全
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- C++中的线程安全删除
- 通过网络、跨平台传递std::变体是否安全
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 在不同的内存位置同时写入 std::d eque 是否线程安全?
- 在不隔离内存的情况下使用新的位置是安全的吗?
- std::字符串 在安全位置截断 UTF-8 的最佳方法
- 重用内存位置是否安全
- 在"this"指针上使用放置新位置是否安全
- <向量>线程安全在不同位置读取/写入吗?