Размещение массива в RAM

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Размещение массива в RAM

Сообщение Debugger » 15.03.2009 (Вс) 11:18

По Хакер'у, значит, я был прав :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Размещение массива в RAM

Сообщение Хакер » 15.03.2009 (Вс) 11:43

Вот тут ты ошибся, возможно так происходит в С++, но в VB это реализовано через Automation API, которые позволяют работать с самоописываемыми одномерными и многомерными массивами. Короче говоря - SAFEARRAY API

Я не ошибся. oleauto32 выделяет для своих SA-массивов память используя кучные функции kernel32. Даже если это не так, я написал:
Положим, что память для массивов выделяется в обычной виндовой куче обычными кучными функциями.


Т.е. функция HeapReAlloc была выбрана для конкретизации терминологии. Если oleauto не использует её, а реализует свой механизм куч, то и для него будет актуальным всё сказанное насчёт фрагментации.

С другой стороны, ошибся ты: вот у С++ своя собственная куча, потому что С++ не привязан к какой-то конкретной платформе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Размещение массива в RAM

Сообщение ANDLL » 15.03.2009 (Вс) 11:53

С другой стороны, ошибся ты: вот у С++ своя собственная куча, потому что С++ не привязан к какой-то конкретной платформе.
Ну в windows cpp'шный malloc то же вызывает heapalloc ;) Так что куча там таки не своя...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Размещение массива в RAM

Сообщение ANDLL » 15.03.2009 (Вс) 12:17

Ну и если jangle сомневается, покажем последовательность вызова из safearrayredim в heaprealloc:
Изображение
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 15

    TopList