如何知道当前线程用了多少堆栈?

mailtocc 2007-08-22 06:01:03
我在想如果调用了我自己的函数
void Test()
{
int a;
}
那么&a - 线程的栈顶 = 堆栈的用量,是这样吧
问题是如何得知这个线程的栈顶在哪里呢?
如果我的线程用CreateThread创建,如何知道这个线程的栈顶在哪里呢?有这样的方法么?
...全文
181 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mailtocc 2007-08-23
  • 打赏
  • 举报
回复
呵呵,thank you
feimingbiao 2007-08-23
  • 打赏
  • 举报
回复
在你的Thread入口函数处的 ebp 值基本上就是栈底(稍微有些偏差,没算Kernel和Dll的Function占用,不过不到100个Byte)。 然后用这个值减去你当前的 esp值就是你用了多少Stack了。
  • 打赏
  • 举报
回复
呵呵,堆可以控制 栈不能控件吧, ,我猜的

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧