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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Ivan Fantom
5 / 5 / 1
Регистрация: 12.10.2011
Сообщений: 75
#1

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

11.07.2013, 22:45. Просмотров 2483. Ответов 40
Метки нет (Все метки)

Получил ряд вопросов от одной фирмы. Надо ответить чтобы удостоить себя собесодованием) Вот один из них.

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

а) Приведите любой пример выделения памяти под массив, где размер выделяемой памяти должен составлять = 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 ГБ  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 22:45     Выделите-ка под массив память размером 32 ГБ
Посмотрите здесь:
C++ Динамически выделить память под массив
C++ Динамически выделить память под массив
Динамически выделить память под массив функций C++
Выделить и удалить память под 4 мерный массив C++
C++ Выделить память под динамический массив указателей
Как выделяется память под массив string? C++
C++ Выделить память под массив размера 2^64 байтов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 13:18     Выделите-ка под массив память размером 32 ГБ
Еще ссылки по теме:
C++ Выделить память под массив неизвестной длины
C++ Как выделить память под массив в структуре?
C++ Почему не очищает память, выделенную под массив структур
Выделить память под массив в 100500 индексе. Возможно ли? C++
C++ Не могу удалить динамически выделенную память под массив

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

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

Не по теме:

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

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

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