Форум Херсона. Форум Херсонской молодежи, флейм, фотографии Херсона, политика в Херсоне, сетевой форум, сети Херсона


Приветствуем на Форум Херсона. Форум Херсонской молодежи..

На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру!

Если возникнут проблемы с регистрацией напишите нам.

Галерея форума Блоги пользователей Список банов
Вернуться   Форум Херсона. Форум Херсонской молодежи. > > >
Регистрация СправкаСтатистика Пользователи Календарь Сообщения за день

Программирование Все вопросы по написанию программ

Тема: с++ и озу Ответить в теме
Ваше имя пользователя: Для входа нажмите здесь
Проверка вопроса системы антиспама "NoSpam!"
Краще місто в Україні?
Image Verification
Пожалуйста, введите шесть букв и/или цифр, которые изображены на картинке.

Заголовок:
  
Сообщение:
Иконки для сообщения
Вы можете выбрать иконку, характеризующую сообщение:
 

Дополнительные опции
Другое

Просмотр темы (Новые вначале)
24.04.2007 22:09
zwitter
Цитата:
Сообщение от PhoeniXX Посмотреть сообщение
2zwitter
Не согласен, вопрос был в том, как заполнить максимум памяти. В моем примере создавался массив в куче, и к нему делаеться некоторые обращение, что он не свапился.
Что должно привести к увеличению прогой кол-во используемой озу.
Да, верно, она будет свапиться, но не сразу, а при след нехватке памяти, но это значит, что память будет заканчиваться, и частично цель достигнута.
Свап тоже не бесконечный, и его можно отключить, если задача заполнить озу
не перекручивайте/

цитирую,
Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++?
28.03.2007 23:39
PhoeniXX 2zwitter
Не согласен, вопрос был в том, как заполнить максимум памяти. В моем примере создавался массив в куче, и к нему делаеться некоторые обращение, что он не свапился.
Что должно привести к увеличению прогой кол-во используемой озу.
Да, верно, она будет свапиться, но не сразу, а при след нехватке памяти, но это значит, что память будет заканчиваться, и частично цель достигнута.
Свап тоже не бесконечный, и его можно отключить, если задача заполнить озу
05.02.2007 11:52
zwitter
Цитата:
Сообщение от PhoeniXX Посмотреть сообщение
Самый простой пример:


int *arr = new int[maxSize];
// Нужно для обращения к массиву, чтоб он не засвапил созданый массив
// Если не хочешь, чтоб память свапилась, сделай больше обращений к этому массиву, или сделай еще пару массивов
for (int i = 0; i < 100000; i++)
{
arr[i] = 1;
}
мсье, да вы жжоте.
вы создали массив в "куче". и это вы называете "заполнить всю ОЗУ" ?
вообще мне очень интересно как в Win32 вы будете заполнять всю ОЗУ.
для автора вопроса сообщаю - либо вопрос некорректен, но в той постановке как он звучал - это невозможно.
OS не даст вам лезть в память чужого процесса и т.д.
а то что вы написали - так оно свопиться будет. потому что должно.
28.01.2007 12:57
Qzix Спс, но озу заняло только 2 мб (в диспечере задач), хотя в другой проге написало Total KB 545, мб in mem-2
27.01.2007 21:49
PhoeniXX Самый простой пример:

Код:
int _tmain(int argc, _TCHAR* argv[])
{
float tmp = 5;
int const size = 0x7fffff;// 8388607 * 4 (sizeof int) = 33 554 428 byte
int const maxSize = 0x7ffffff;// 134217727 * 4 (sizeof int) = 536 870 908 byte
 
int *arr = new int[maxSize];
// Нужно для обращения к массиву, чтоб он не засвапил созданый массив
// Если не хочешь, чтоб память свапилась, сделай больше обращений к этому массиву, или сделай еще пару массивов
for (int i = 0; i < 100000; i++)
{
arr[i] = 1;
}
scanf("%f",&tmp);
return 0;
}
27.01.2007 15:49
Qzix Та я неособо шарю в продвинутом программировании. Я раньше (5 лет) програмировал на паскале+делфи (в школе и фтл), а сейчас решил изучить с++, но ещё всю книгу (около 1000 стр.) ещё не осилил. А компактным - я имел в виду про код - чтобы это небыло 1000 строк бреда, а где-то 20.
27.01.2007 00:01
pingwinator
Цитата:
Сообщение от Qzix Посмотреть сообщение
Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? Я может быть не до конца прочёл книгу по с++, но уже сейчас интересно. Особенно когда даже на делфи без бесконечных массивов это сделать получилось, конечно чел не понял как у него это вышло, и ошибки, что переменная/массив/обьект занимает очень много озу не было. При простом заполнении большого массива такая ошибка выползает. Как её обойти?
я непонял одного - ты всю озу хочеш забить? - так зачем компактно? просто безконечную рекурсию и пошло-поехало.
а ошибка у тебя вылетает - ИМХО, скорее всего это ошибка переполнения буфера. покопай в сторону try catch
26.01.2007 23:41
Qzix
с++ и озу

Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? Я может быть не до конца прочёл книгу по с++, но уже сейчас интересно. Особенно когда даже на делфи без бесконечных массивов это сделать получилось, конечно чел не понял как у него это вышло, и ошибки, что переменная/массив/обьект занимает очень много озу не было. При простом заполнении большого массива такая ошибка выползает. Как её обойти?

Ваши права в разделе
Вы не можете создавать темы
Вы можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Время на сервере: 00:28.

Регистрация Справка Пользователи Календарь Сообщения за день

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co