【问题标题】:C - Address of variables in the activation recordsC - 激活记录中的变量地址
【发布时间】:2011-06-17 00:28:41
【问题描述】:

在激活记录中找到第一个局部变量的内存地址的最快、最简单的方法是什么? (在 C..)

不管我们已经声明了什么。可以简单为 char *s = 'Hello world!'

谢谢!

【问题讨论】:

    标签: c memory variables activerecord activation-record


    【解决方案1】:

    你不能这样做——C 标准甚至不要求存在 堆栈,更不用说需要一种标准方法来找出变量放置在堆栈上的顺序。

    【讨论】:

    • 嗯.. 它确实需要一个“自动存储”区域,该区域将在几乎所有架构上作为堆栈实现。但是当然访问的具体语义会因机器而异:) +1
    【解决方案2】:

    在 C 中没有可移植的方式来做到这一点。任何尝试这样做都是平台和调用约定特定的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2023-03-10
      • 2017-05-27
      • 2012-01-17
      • 2011-07-14
      • 2011-09-13
      • 2011-01-03
      相关资源
      最近更新 更多