![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Добрый день.
Возможно ли, если да то каким способом, узнать размер стека программы? Спасибо. Это сообщение отредактировал(а) GSasha - 20.1.2009, 18:23 |
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 1 Всего: 9 |
хех... Получить значение регистра процессора - базы или вершины стека. Так как он растет сверху вниз, то данные числа и дадут "размер".
Но все это платформозависимо |
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Примерно понял, но можно пример или типа этого...
Как такое на практике сообразить. thx |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
какая ОС? максимальный размер? минимальный размер? текущий размер у запущенной программы?
|
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
OS WindowsXP. Это один из тестовых вопросов, который дословно звучит: Как определить размер стека программы? Я думаю, что имеется ввиду текущий размер у запущенной программы. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
вот пример для Linux x86-64 (если стек не рандомизируется)
rsp - минимальная граница -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
К сожалению без комментариев мне не разобраться с этим примером, работаю под WinXP. Мне всего лишь нужно ответить на вопрос из теста: Как определить размер стека программы? И если честно, меня этот вопрос в замешательство привел. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
GSasha, программа состоит из потоков, у каждого потока размер стека может быть свой
у 1го потока при запуске программы размер стека такой который указан в заголовке программы у остальных потоков размер либо такойже либо другой в процессе работы программы размер и расположение стека может меняться, хз еще что считать стеком, в esp можно чтоугодно засунуть |
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
GoldFinch , спасибо Вам большое.
Я кое какими знаниями обладаю насчет организации процессов и потоков в Windows-системах, и про стеки потоков мне также известно. Но вот данный вопрос мне не дает покоя, точнее - нет ответа на него. Как бы Вы ответили на него... Вопрос я выше процитировал. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
ну допустим я бы ответил что размер стека надо прочитать из TEB
|
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Так-так, это что-то интересное.
К TEB я еще не добирался, полезное направление для расширении кругозора. Пока что понятие не имею про ТЕВ, но послушаю ваш совет, и постараюсь дорыться все-таки. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
||||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Ок, разрулю полезного отпишусь.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Что то мне подсказывает, что Вы вопрос неправильно процитировали ... нельзя ли еще парочку вопросов из той же категории теста ? Это сообщение отредактировал(а) mes - 21.1.2009, 02:42 |
|||
|
||||
| GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
mes, вопрос именно так и звучит: Как определить размер стека программы?
Остальные вопросы типа: Свойства статической переменной... Разница между процессом и потоком... и т д |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |