【发布时间】:2021-06-11 08:19:32
【问题描述】:
"进程的哪些逻辑段 变量 f 和 c 存在吗?”
int c = 5;
void main(int argc, char **argv)
{
int f = fork();
if(f == 0)
{
c += 5;
}
else
{
f = fork();
c += 10;
if(f)
{
c += 5;
}
}
}
大家好,我有点卡在这个问题上,我猜 c 是一个全局变量并且在数据区域中并且 f 在堆栈中(因为 main 是一个过程调用),但我不清楚关于逻辑段的含义。我将非常感谢专家的眼睛来查看这个问题并告诉我我缺少什么。提前致谢。
【问题讨论】:
-
我认为这个问题不一定值得两次反对,但如果代码被格式化为可读性会有所帮助。我假设逻辑段的含义将在您学习的任何课程中进行解释,因为确切的含义可能会有所不同。然而,最常见的选项选择可能是文本/代码、数据、(可能是 bss)堆栈和堆。
-
答案不是特定于 C 语言,而是特定于目标架构。也许克林贡(或量子)计算机具有 POSIX 兼容性:-)
标签: c process global-variables fork instance-variables