其实非常简单的操作,每次线程创建时,把栈空间全部清零。然后定期检测栈中非零的空间,就知道栈的使用量了。【只有线程运行到一定程度时,线程堆栈使用量才准确】
uCOS2这种简单的Soc系统,栈空间大小是固定的。和现代的系统不一样,以X86 Linux为例,现代的系统的进程栈都是动态按需分配,而且空间基本上不受限制【4G地址空间大小】。
因为X86平台有MMU。支持分页。
其实非常简单的操作,每次线程创建时,把栈空间全部清零。然后定期检测栈中非零的空间,就知道栈的使用量了。【只有线程运行到一定程度时,线程堆栈使用量才准确】
uCOS2这种简单的Soc系统,栈空间大小是固定的。和现代的系统不一样,以X86 Linux为例,现代的系统的进程栈都是动态按需分配,而且空间基本上不受限制【4G地址空间大小】。
因为X86平台有MMU。支持分页。