【发布时间】:2017-04-05 11:24:03
【问题描述】:
我想知道主堆栈空间和任务的堆栈空间之间是否有任何区别。我参加了一个关于 RTOS 的测验,其中提出了以下问题
假设在任务函数中声明了一个非静态局部变量,在任务函数执行过程中,该非静态变量的内存究竟分配到了哪里?
void task_function(void *p)
{
/*this is task function */
int i ; /* non static variable */
}
给出的选项是: RAM 的主堆栈空间。 b.Task的栈空间。
我想知道除了为每个任务分配的堆栈空间之外,是否还有一个单独的 RAM 的主堆栈空间。如果是,那为什么?
【问题讨论】:
-
击败我。线程有堆栈。这就是自动存储变量的去向。对我来说就是这样。我也不知道什么是“主堆栈空间”:)
-
如果主栈空间是指
Main函数的栈空间,则不存储在主栈空间中。