社区
进程/线程/DLL
帖子详情
堆栈的两个问题?
boywang
2003-07-11 12:26:25
1.如何知道某一进程中所有堆的基地址?
2.如何知道某一内存地址是否包含线程堆栈?
...全文
41
8
打赏
收藏
堆栈的两个问题?
1.如何知道某一进程中所有堆的基地址? 2.如何知道某一内存地址是否包含线程堆栈?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
boywang
2003-07-12
打赏
举报
回复
up
暗黑帝国
2003-07-11
打赏
举报
回复
推荐你去看<WINDOW核心编程>里面有讲.
boywang
2003-07-11
打赏
举报
回复
在我的msdn上找不到ZwQueryThreadInformation的信息呀?
怎么用ZwQueryThreadInformation呢?
boywang
2003-07-11
打赏
举报
回复
楼上的,用你的方法可以等到其他的进程的堆栈信息吗?
Carapee
2003-07-11
打赏
举报
回复
问题一,使用GetProcessHeaps得到句柄,使用HeapQueryInformation得到相应的信息。
问题二,
CreateToolhelp32Snapshot
Thread32First
THread32Next
获得本进程所有线程的ID.
OpenThread打开线程。
使用NativeAPI,ZwQueryThreadInformation得到TEB的地址
使用ReadProcessMemory读出TEB结构,其中就有堆栈基地址和大小等信息。
知道了本进程所有线程的堆栈信息,自然就可以判断一个指针是否落在堆栈区域了。
双杯献酒
2003-07-11
打赏
举报
回复
GZ
boywang
2003-07-11
打赏
举报
回复
我就是看过了,有些地方不是很明白才来这里问的!!!
FAICHEN
2003-07-11
打赏
举报
回复
看书好点吧,核心编程里面内存结构那有讲
C语言嵌入式Linux编程第4期:
堆栈
管理
本课程是《C语言嵌入式Linux编程》第4期主要内容包括: 1)程序运行过程中
堆栈
的内存分布 2)栈初始化、大小、栈在函数调用和参数传递过程中的作用 3)栈与作用域、栈对形参和实参的管理 4)黑客栈溢出攻击原理及...
什么是
堆栈
?
堆栈
用来干什么的?
在程序运行当中,每一个线程都有自己的栈空间,栈是用来干什么用的呢?还记得我们C语言学习的时候函数的局部变量么?栈空间就是用来保存局部变量的。所以我们就回答了第一个
问题
,栈有什么用,栈就是用来保存函数的局部变量的。
堆栈
?堆?栈?
学计算机的过程中,我们经常听闻“堆”、“栈”、“
堆栈
”这样的概念,那么什么是“堆”、什么是“栈”、什么又是“
堆栈
”呢? 其实,
堆栈
就是栈,他们都是一种先进后出的数据结构,
堆栈
只是栈的另一种抽象名称而已。所以,从结构上来说,只有栈和堆两种类型。 栈 所谓栈,是一种先进后出(或者后进先出)的数据结构,它类似一个你刚刚买的一盒好丽友派。假设你只能从一侧打开,然后一个个取,只有当上面的取完了后才能从下面取;然而生产商在包装的时候,肯定是先放的在最下面,后放的在最上面。这样你吃到的第一个派其实是包装员最后一个放进去的
用一个数组实现
两个
堆栈
题干 请用一个数组实现
两个
堆栈
,要求最大可能地利用数组空间,使数组只要有空间、入栈操作就能成功。写出相应的入栈和出栈操作函数。 分析 第一种方案,是将数组空间一分为二地分配给
两个
堆栈
使用,一个
堆栈
的底在数组的起始位置,另一个在数组的中间位置,
两个
栈顶指针Top都沿着同一个方向增长。若其中一个
堆栈
先满了,而另一个
堆栈
还有空,我们可以顺序移动数据,为满的那个
堆栈
腾出空位来。但是这种方法,可能涉及很多数据的移位,比较麻烦。 第二种方案,是使
两个
栈分别从数组的两头开始、向中间生长,当
两个
栈顶指针相遇时,代表
两个
栈
【C语言】用一个数组实现
两个
堆栈
双向栈就是利用一个数组的两端作为栈顶,同时向数组中间增长,实现一个数组由
两个
栈共享 结合书本上的内容我在此发表一些我的理解: 1.双
堆栈
的建立 首先由图中能看出建立一个双
堆栈
我们需要一个数组,
两个
栈顶指针Top1和Top2,同时我们还需要定义数组的最大长度MaxSize。在最初数组中没有存放元素,所以栈顶指针1和栈顶指针2都不会指向数组中的位置,所以初始化双
堆栈
时栈顶指针1指向的位置是数组最左边位置0的前一个位置即-1,而栈顶指针2就指向数组最右端的位置MaxSize-1的下一个位置即MaxSiz
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章