В структуре MEMORY_BASIC_INFORMATION найдены две переменные PVOID, называемые BaseAddress
и AllocationBase
соответственно.Адрес стека и стека
Я читаю книгу о Threading и ее переходе к тому, как получить стеки, оставшиеся в стеке, довольно подробно, однако есть кое-что, что я не уверен, что правильно понимаю.
BaseAddress в структуре, упомянутой выше, указывает ли он на самый высокий адрес в текущем стеке стека или на нижний адрес? Так как стек растет вниз, самый низкий будет сверху, а самый высокий - внизу.
В чем же разница между полями AllocationBase
и BaseAddress
? Я не очень хорошо разбираюсь в документации MSDN, поэтому я надеюсь, что кто-то может прояснить немного больше?
В моей книге также говорится, что адрес «AllocationBase» совпадает с полем «DeallocationStack» в структуре TEB, которое, по его словам, указывает на конец стека, который, как я думал, был наивысшим адресом, однако с его BASE, я предполагаю, что это должен быть самый низкий адрес, так как стек растет вниз. Так что я немного смущен, что к чему?
Per this странице «DeallocationStack» является: максимальный размер стека хранится в поле DeallocationStack
Может кто-то помочь мне понять мое замешательство?
Не могли бы вы поделиться тем, что было на этой теме? :) Благодаря. – CaseyJones
Параллельное программирование на Windows Джо Даффи. –