![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Вадим |
|
|||
|
Unregistered |
хай. у меня вопрос по Visual C.
мне нужно сделать простой массив типа char в котором будет 4 миллиона элементов. просто так си не даёт и у меня вырубает прогорамму с "недопустимой операцией". я помню в борландсокм досе была такая опция как "модель памяти - huge" есть что-то подобное в VC? помогите, спецы!!! |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
В Win32-приложении можно выделить столько памяти, сколько позволяет ОС (суммируй среднее кол-во свободной RAM и макс. размер свопа -- получишь макс. кол-во памяти, которое можно выделить). Модель huge - пережиток ДОСа, как и остальные модели памяти (small, tiny и large).
Единственное, что нужно соблюдать - не резервировать большие куски памяти прямо в коде (т.е. не писать типа "char arr[100000000]"), а выделять и освобождать память динамически - хоть "new", хоть "malloc", хоть VirtualAlloc'ом. Если же пытаться сделать "char arr[BIG_NUMBER]", то память под массив будет выделена где ? правильно, в кадре стека текущей функции, а стек в виндах не резиновый -------------------- ![]() |
|||
|
||||
| Вадим |
|
|||
|
Unregistered |
mr.DUDA, спасибо большое.
Я ни разу не пользовался оператором new, а он оказался очень простым и добрым, так что эту проблему я с твоей помощью очень легко решил. Хороший у вас форум, респект (на ixbt мой пост моментально закрыли, а тут - помогли)! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |