gpt4 book ai didi

c - 变量的内存分配

转载 作者:行者123 更新时间:2023-11-30 19:43:39 25 4
gpt4 key购买 nike

假设我没有操作系统,我编写了一个c并编译了一个程序以在没有操作系统的计算机上运行。我的程序有一行 int a = 0;我的问题是变量 a 存储在哪里以及程序如何确定变量存储在哪里?

最佳答案

这取决于您声明的地点和方式。

如果它是全局变量或在函数内声明的静态变量,则链接器决定将其放置在何处(通常分别位于 .data 或 .bss 部分,分别用于初始化或未初始化的数据)。您的可执行加载程序(或者,如果您没有操作系统,则为您的引导加载程序)将决定它最终在 RAM 中的位置。

如果它是局部变量,编译器会将其放入调用堆栈或寄存器中。

关于c - 变量的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com