【问题标题】:Is that possible to use constant memory address value for different time? [duplicate]是否可以在不同的时间使用恒定的内存地址值? [复制]
【发布时间】:2013-10-10 08:45:23
【问题描述】:
  1. 有时 p=3,which memory &p=somehexadecimal 并且这个值经常变化。
  2. 为什么它的内存值会发生变化?
  3. 是否可以维持p 的恒定内存值

【问题讨论】:

  • 你为什么需要它? “它正在改变”是什么意思?
  • 哦,OP正在询问是否可以使变量始终存储在同一地址。
  • 您无法控制变量的存储位置。您可以查阅链接器文档,了解您的平台是否允许您指定某些全局对象的地址。

标签: c++ c operating-system


【解决方案1】:

如果你在静态内存中使用一个变量,它会通过程序的运行定位到相同的地址。

全局是示例,static 类成员、命名空间 static 或函数范围 statics 是其他示例。

【讨论】:

    【解决方案2】:

    c & c++ 用户运行时内存分配,因此它将从可用内存中分配。 我认为没有办法将静态内存地址分配给任何变量。

    【讨论】:

    • 有趣的是,你使用了static这个词:-)
    • 即使static 变量在执行期间(由于分页)在物理内存中也没有静态地址,尽管它们确实具有静态虚拟内存地址;如果启用了地址空间布局随机化 (ASLR),它们甚至不会在两次执行之间的虚拟内存中拥有一个。
    • 我没有提到静态变量我说我们不能为任何变量分配静态内存地址。
    猜你喜欢
    • 2019-07-23
    • 2021-08-18
    • 1970-01-01
    • 2015-06-07
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    相关资源
    最近更新 更多