Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
Просмотр темы (Новые вначале) |
24.04.2007 22:09 | ||
zwitter |
Цитата:
цитирую, Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? |
|
28.03.2007 23:39 | ||
PhoeniXX |
2zwitter Не согласен, вопрос был в том, как заполнить максимум памяти. В моем примере создавался массив в куче, и к нему делаеться некоторые обращение, что он не свапился. Что должно привести к увеличению прогой кол-во используемой озу. Да, верно, она будет свапиться, но не сразу, а при след нехватке памяти, но это значит, что память будет заканчиваться, и частично цель достигнута. Свап тоже не бесконечный, и его можно отключить, если задача заполнить озу |
|
05.02.2007 11:52 | ||
zwitter |
Цитата:
вы создали массив в "куче". и это вы называете "заполнить всю ОЗУ" ? вообще мне очень интересно как в 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 |
Цитата:
а ошибка у тебя вылетает - ИМХО, скорее всего это ошибка переполнения буфера. покопай в сторону try catch |
|
26.01.2007 23:41 | ||
Qzix |
с++ и озу Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? Я может быть не до конца прочёл книгу по с++, но уже сейчас интересно. Особенно когда даже на делфи без бесконечных массивов это сделать получилось, конечно чел не понял как у него это вышло, и ошибки, что переменная/массив/обьект занимает очень много озу не было. При простом заполнении большого массива такая ошибка выползает. Как её обойти? |