【问题标题】:operating system loops variable stack question操作系统循环变量堆栈问题
【发布时间】:2011-11-08 02:45:14
【问题描述】:
cout << "blah blah blah";
for (int i=0; i < n; i++)
{
 cout << '#' << endl;;
}
cout << "blah blah blah";

是堆栈帧上的整数 i 吗?如果整数只能在循环中使用,操作系统如何跟踪哪些变量只能在循环中使用而不能在整个函数中使用?

【问题讨论】:

    标签: c++ compiler-construction operating-system


    【解决方案1】:

    操作系统与它没有任何关系——这是编译器的工作。

    任何体面的系统都会将 i 保存在 cpu 寄存器中

    【讨论】:

      【解决方案2】:

      在这种情况下,变量i 几乎可以肯定是放在寄存器中。

      执行变量只能在循环内访问的规则是编译器,而不是操作系统。 (这是编译时规则,而不是运行时规则。)

      【讨论】:

        猜你喜欢
        • 2014-05-27
        • 2020-09-26
        • 1970-01-01
        • 1970-01-01
        • 2015-09-05
        • 2018-12-13
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        相关资源
        最近更新 更多