![]() |
|
Модераторы: bsa |
![]()
|
|
| mrhell |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 23.5.2008 Репутация: нет Всего: нет |
собственно использую оператор new
pVertex = new Vertex[DimX*DimY]; Vertex - 32 байта При попытке выделить память под очень большое число вертексов (10000х4145 например) вылетает, хотя на машинке стоит 2 гига. Есть ли какие либо ограничения в винде на размер выделяемого блока? |
|||
|
||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
mrhell,
некоторый объем памяти винда держит для своих нужд(у меня около 200 метров - проверял), попробуй увеличить файл подкачки, хотя врядли поможет, потому что выделяется память под одно приложение. а у тебя сдается мне надо память под массив выделить? - тогда лучше используй динамический список, возможно не в выделении памяти косяк а в размере массива, там точно есть ограничения - не знаю как сейчас на когда-то вообще максимальная размерность массива была 32 элемента, потому их и делали десятимерными Это сообщение отредактировал(а) rrrFer - 24.5.2008, 12:34 |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
Насколько, я знаю ограничения не в винде, а в шине адреса. Если у тебя 32 битная архитектура, то максимально ты можешь выделить около 3 гигов.
Теперь относительно твоей ошибки. Попробуй обрабатывать исключения, при выделение памяти - получишь дополнительную информацию относительно ошибки. -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
для winXP справедливо только 2-а гига. для серверных 32битных около 3-х.
нижние 2-а гига это под драйвера, и, например, архаичности от PCI оставшиеся (видя, кстати, "жрет" 256 мег вроде - гляньте в диспетчере устройств используемые адреса).... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Нихрена себе. 10000х4145х32 = 1.326.400.000 байт Да у меня Crysis меньше кушает -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
W4FhLF,
я так тоже подумал,а потом вспомнил что лаба у нас была по ОС - выделить всю память системы. Интересно заметить что больше 2.4 Гб под ХР не выделяется(как файл подкачки не увеличивай). были также люди, которые решали это с помощью массива, однако использовали при этом многомерный массив(наверно размерность массива не позволяла иначе) |
|||
|
||||
| mrhell |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 23.5.2008 Репутация: нет Всего: нет |
да, не совсем по верному пути пошел - надо было прореживать точки, тогда и миллиона не останется)) (с рельефом в 3д работаю).
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |