![]() |
|
Модераторы: xvr |
![]()
|
|
| HappyCoder |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.5.2007 Репутация: нет Всего: нет |
Что-то непонятное получилось. Или я чего-то не понимаю. Память была выделена в стеке. Как выделить её в куче? Пробовал выделять больше, но всё равно в стеке выделяется. WTF?
|
||||
|
|||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| HappyCoder |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.5.2007 Репутация: нет Всего: нет |
Выделил 40 мегов разом и увидел
Но с realloc что-то не получается. Пишет, что в стеке. Выделил 32 мега. Я неправильно пользуюсь valgrind-ом?
|
||||||
|
|||||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
не в стеке
напиши вывод
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
а лучше
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
обычно виртуальное адресное пространство процесса (0x00000000 - 0xBFFFFFFF) распределяется следующим образом
---------------------------------------- 0xBFFFFFFF Динамические библиотеки ---------------------------------------- STACK (растет вниз) HEAP (растет вверх) ---------------------------------------- BSS ---------------------------------------- DATA ---------------------------------------- Разные секции (GOT, RODATA, ...) ---------------------------------------- CODE ---------------------------------------- Разные секции (INTERP, HASH, ...) ---------------------------------------- NULL ---------------------------------------- 0x00000000 т. е для радовой программы "дыра" между вершиной кучи и низом стека очень большая Это сообщение отредактировал(а) MAKCim - 1.6.2007, 09:09 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| HappyCoder |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.5.2007 Репутация: нет Всего: нет |
это при:
Вывод этого:
такой:
Это адрес, по которому лежит указатель?
|
||||||||||
|
|||||||||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
ну вот, как можно видеть, ни а каком выделении в стеке речь не идет кстати, адреса какие-то непонятные я так понял, у тебя 64-х разрядная машина почему тогда адреса не 64-х разрядные? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
по всей видимости malloc использует pool для небольших объектов... -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| HappyCoder |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.5.2007 Репутация: нет Всего: нет |
Да, у меня Gentoo Linux x86_64 на AMD Turion ML-32 и gcc-4.1.2 Не знаю даже. Я особо не разбираюсь ещё. Во всяком случае, у меня указатели по 8 байт. Это сообщение отредактировал(а) HappyCoder - 1.6.2007, 22:18 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
Все правильно. у тебя sizeof(long) == sizeof(void*) == 8. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |