Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
newbie666
Заблокирован
#1

Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes - C++

29.11.2013, 12:02. Просмотров 2695. Ответов 28
Метки нет (Все метки)

Ну собственно Visual Studio 2012, платформа x64, при попытке создать массив из 10-и миллиардов элементов
C++
1
unsigned *test = new unsigned[10000000000];
получаю резонный error:
error C2148: total size of array must not exceed 0x7fffffff bytes
не надо спрашивать, сколько у меня оперативной памяти - достаточно. Дело в другом, я скоро буду собирать машинку под кое - что с 512-ю гигабайтами оперативки и мне хотелось бы выделять кусок выровненной памяти под 100 миллиардов интов ...
Есть идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 12:02     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes
Посмотрите здесь:

C++ total size of local objects too large
В чём разница между total = total + trans и total += trans? C++
Expected constant expression; cannot allocate an array of constant size 0 C++
Размер массива(error C2057: требуется константное выражение) C++
C++ Создайте класс Array с двумя полями: указатель на массив целых чисел и размер массива
C++ Функции (find out the array in which total number of positive elements is bigger)
C++ Какой максимальный размер строки можно зашифровать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
togemura
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 9
16.04.2014, 01:24     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #21
Цитата Сообщение от Croessmah Посмотреть сообщение
delete
не, у меня сейчас 32Гб ОЗУ, свободно больше 20, тестовый массив выделяет 1.5Гб, но не больше...
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.04.2014, 03:19     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #22
Проект какой, 64-х битный?
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.04.2014, 10:15     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #23
Цитата Сообщение от togemura Посмотреть сообщение
//размер ОЗУ позволяет
это уже не тебе решать, позволяет или нет.
Цитата Сообщение от togemura Посмотреть сообщение
компилируется, но exception bad allocation.... как быть?
не выделять столько. Нет оправдания выделению массивов такого размера. Нет в природе алгоритмов для ПК которые требуют именно такие большие массивы.
togemura
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 9
16.04.2014, 10:57     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #24
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
это уже не тебе решать, позволяет или нет.
а вот и нет) ограничение в 2147483647 обошел, теперь теоретически возможный размер вектора 4611686018427387903

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Нет в природе алгоритмов для ПК которые требуют именно такие большие массивы.
а вот и есть) в системах ИИ.


Цитата Сообщение от alsav22 Посмотреть сообщение
Проект какой, 64-х битный?
Спасибо, помогло!! ^^ в настройках проекта поставил x64 и включил поддержку больших адресов в компоновщике, размер массива передаю в long long, все заработало)
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.04.2014, 11:56     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #25
Цитата Сообщение от togemura Посмотреть сообщение
а вот и нет) ограничение в 2147483647 обошел, теперь теоретически возможный размер вектора 4611686018427387903
LOL мега обход. это скорее не обошёл, а изначально собирал программу с урезанной разрядностью.
Цитата Сообщение от togemura Посмотреть сообщение
а вот и есть) в системах ИИ.
давай, расскажи нам про ИИ Много ли памяти требуется для игры в шахматы среднего уровня? http://www.allgame.com/game.php?id=41038&tab=sysreqs
В 2002м году 64Мб было достаточно, включая память используемую виндой и прочими системными нуждами.
togemura
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 9
16.04.2014, 11:59     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #26
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а изначально собирал программу с урезанной разрядностью.
ну... да) просто с VS не очень хорошо знаком)

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Много ли памяти требуется для игры в шахматы среднего уровня?
а зачем шахматы?

http://www.nanonewsnet.ru/news/2013/...neironnoi-seti
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
16.04.2014, 12:12     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #27
Kuzia domovenok, можно построить дерево всех возможных комбинаций шахмат.
newbie666
Заблокирован
17.04.2014, 20:17  [ТС]     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #28
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
давай, расскажи нам про ИИ
если ты не в курсе, то не ровняй все по своему уровню IQ.
Есть системы рендера типа Unlimited Detail, есть системы глобального разума, включающие в себя распознавание речи, компьютерного зрения, сопутствующие этому всякие text mining-и и пр ... которые требуют терабайтов ОЗУ и кластеров на основе GPU... Так что неуч, не знаешь - не сбивай людей с пути.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2014, 11:17     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes
Еще ссылки по теме:

Invalid allocation size 4294967295 bytes C++
C++ Максимальный размер массива
C++ Ошибка - invalid allocation size: 4294967292 bytes
C++ Можно ли обойти динамический массив не зная его размер?
C++ Двумерный массив <array>. const int value = array.size(); value не константа?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
18.04.2014, 11:17     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes #29
togemura, а какое отношение к ИИ имеют нейросети?

Добавлено через 20 секунд
Цитата Сообщение от newbie666 Посмотреть сообщение
Есть системы рендера типа Unlimited Detail
при чём тут ИИ? ну да, крупные рендеры требуют много ОЗУ.

Добавлено через 46 секунд
Цитата Сообщение от newbie666 Посмотреть сообщение
есть системы глобального разума


Добавлено через 45 секунд
Цитата Сообщение от newbie666 Посмотреть сообщение
распознавание речи, компьютерного зрения,
при чём тут ИИ? распознавание образов подчиняется вполне детерминированным алгоритмам.
Yandex
Объявления
18.04.2014, 11:17     Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru