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

Выделите-ка под массив память размером 32 ГБ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Ivan Fantom
 Аватар для Ivan Fantom
5 / 5 / 1
Регистрация: 12.10.2011
Сообщений: 75
11.07.2013, 22:45     Выделите-ка под массив память размером 32 ГБ #1
Получил ряд вопросов от одной фирмы. Надо ответить чтобы удостоить себя собесодованием) Вот один из них.

Словесно представьте вашу последовательность действий при написании программного кода заданий описанных ниже с учетом всех возможных на Ваш взгляд багов:

а) Приведите любой пример выделения памяти под массив, где размер выделяемой памяти должен составлять = 235 байт и заполните его случайными значениями.

б) Переэлокейтите массив, чтобы его размерность увеличилась с 235 до 235 + 100.

Про а)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    unsigned long long size = 1024*1024*1024;
    size *= 32;
 
    char* ms = new char[size];
    
    for(int i=0;i<size;i++)
        ms[i] = i + '0';
 
    cout << ms[size-1] << endl;
 
    delete[] ms;
    return 0;
}
Само выделение памяти прошло без проблем, а вот когда началась инициализация, то на 1305 ячейке массива вижла сообщает об ошибке.
Изначально я понимал, что выделить такой большой кусок памяти тривиальными средствами не получится. Но я просто не знаю какими средствами можно решить поставленную задачу.
Миниатюры
Выделите-ка под массив память размером 32 ГБ  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 13:18     Выделите-ка под массив память размером 32 ГБ
Еще ссылки по теме:

выделить и удалить память под 4 мерный массив C++
Как выделить память под динамический двумерный массив C++
C++ Выделить память под массив размера 2^64 байтов

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

Или воспользуйтесь поиском по форуму:
Kastaneda
13.07.2013, 13:18     Выделите-ка под массив память размером 32 ГБ
  #41

Не по теме:

Цитата Сообщение от Убежденный Посмотреть сообщение
Виртуальная память используется всегда, ее поддержка обеспечена аппаратно, в
том числе на уровне CPU.
Лирическое дополнение - если CR0.PG = 1, т.е. если включен пэйджинг.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
13.07.2013, 13:18     Выделите-ка под массив память размером 32 ГБ
Ответ Создать тему
Опции темы

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