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


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

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

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

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

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

Ответ
 
Опции темы
Старый 26.01.2007, 23:41   #1 (Ссылка на пост)
Мимо проходил
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssssssss5
Благодарил(а): 0
Благодарили 0 раз в 0 постах
Галерея: 0
Вес репутации: 0 Qzix идет по правильному пути
с++ и озу

Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? Я может быть не до конца прочёл книгу по с++, но уже сейчас интересно. Особенно когда даже на делфи без бесконечных массивов это сделать получилось, конечно чел не понял как у него это вышло, и ошибки, что переменная/массив/обьект занимает очень много озу не было. При простом заполнении большого массива такая ошибка выползает. Как её обойти?
Qzix вне форума  
Ответить с цитированием
Старый 27.01.2007, 00:01   #2 (Ссылка на пост)
забанен
Мой дневник
 
Аватар для pingwinator
Пол:
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssss14712
Адрес: где-то в Херсоне
Благодарил(а): 8,120
Благодарили 17,967 раз в 5,590 постах
Записей в дневнике: 4
Галерея: 16
Вес репутации: 10 pingwinator скоро в модераторы
pingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторыpingwinator скоро в модераторы
Цитата:
Сообщение от Qzix Посмотреть сообщение
Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++? Я может быть не до конца прочёл книгу по с++, но уже сейчас интересно. Особенно когда даже на делфи без бесконечных массивов это сделать получилось, конечно чел не понял как у него это вышло, и ошибки, что переменная/массив/обьект занимает очень много озу не было. При простом заполнении большого массива такая ошибка выползает. Как её обойти?
я непонял одного - ты всю озу хочеш забить? - так зачем компактно? просто безконечную рекурсию и пошло-поехало.
а ошибка у тебя вылетает - ИМХО, скорее всего это ошибка переполнения буфера. покопай в сторону try catch
__________________
pingwinator вне форума  
Ответить с цитированием
Старый 27.01.2007, 15:49   #3 (Ссылка на пост)
Мимо проходил
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssssssss5
Благодарил(а): 0
Благодарили 0 раз в 0 постах
Галерея: 0
Вес репутации: 0 Qzix идет по правильному пути
Та я неособо шарю в продвинутом программировании. Я раньше (5 лет) програмировал на паскале+делфи (в школе и фтл), а сейчас решил изучить с++, но ещё всю книгу (около 1000 стр.) ещё не осилил. А компактным - я имел в виду про код - чтобы это небыло 1000 строк бреда, а где-то 20.
Qzix вне форума  
Ответить с цитированием
Старый 27.01.2007, 21:49   #4 (Ссылка на пост)
Уже сменил себе статус
 
Аватар для PhoeniXX
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 sssss2389
Благодарил(а): 3,844
Благодарили 1,942 раз в 919 постах
Галерея: 0
Вес репутации: 40 PhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущее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;
}
PhoeniXX вне форума  
Ответить с цитированием
Старый 28.01.2007, 12:57   #5 (Ссылка на пост)
Мимо проходил
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssssssss5
Благодарил(а): 0
Благодарили 0 раз в 0 постах
Галерея: 0
Вес репутации: 0 Qzix идет по правильному пути
Спс, но озу заняло только 2 мб (в диспечере задач), хотя в другой проге написало Total KB 545, мб in mem-2
Qzix вне форума  
Ответить с цитированием
Старый 05.02.2007, 11:52   #6 (Ссылка на пост)
Модератор
Пол:
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssss11242
Благодарил(а): 2,807
Благодарили 19,030 раз в 5,788 постах
Галерея: 15
Вес репутации: 217 zwitter скоро в модераторы
zwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторы
Цитата:
Сообщение от PhoeniXX Посмотреть сообщение
Самый простой пример:


int *arr = new int[maxSize];
// Нужно для обращения к массиву, чтоб он не засвапил созданый массив
// Если не хочешь, чтоб память свапилась, сделай больше обращений к этому массиву, или сделай еще пару массивов
for (int i = 0; i < 100000; i++)
{
arr[i] = 1;
}
мсье, да вы жжоте.
вы создали массив в "куче". и это вы называете "заполнить всю ОЗУ" ?
вообще мне очень интересно как в Win32 вы будете заполнять всю ОЗУ.
для автора вопроса сообщаю - либо вопрос некорректен, но в той постановке как он звучал - это невозможно.
OS не даст вам лезть в память чужого процесса и т.д.
а то что вы написали - так оно свопиться будет. потому что должно.
zwitter вне форума  
Ответить с цитированием
Эти 2 пользователей сказали Спасибо zwitter за хороший пост:
Absent (05.02.2007), Dreamer (16.05.2007)
Старый 28.03.2007, 23:39   #7 (Ссылка на пост)
Уже сменил себе статус
 
Аватар для PhoeniXX
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 sssss2389
Благодарил(а): 3,844
Благодарили 1,942 раз в 919 постах
Галерея: 0
Вес репутации: 40 PhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущееPhoeniXX заслуживает бриллиантовое будущее
2zwitter
Не согласен, вопрос был в том, как заполнить максимум памяти. В моем примере создавался массив в куче, и к нему делаеться некоторые обращение, что он не свапился.
Что должно привести к увеличению прогой кол-во используемой озу.
Да, верно, она будет свапиться, но не сразу, а при след нехватке памяти, но это значит, что память будет заканчиваться, и частично цель достигнута.
Свап тоже не бесконечный, и его можно отключить, если задача заполнить озу
PhoeniXX вне форума  
Ответить с цитированием
Старый 24.04.2007, 22:09   #8 (Ссылка на пост)
Модератор
Пол:
 
Активность Longevity
0/20 18/20
Today Сообщения
0/5 ssss11242
Благодарил(а): 2,807
Благодарили 19,030 раз в 5,788 постах
Галерея: 15
Вес репутации: 217 zwitter скоро в модераторы
zwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторыzwitter скоро в модераторы
Цитата:
Сообщение от PhoeniXX Посмотреть сообщение
2zwitter
Не согласен, вопрос был в том, как заполнить максимум памяти. В моем примере создавался массив в куче, и к нему делаеться некоторые обращение, что он не свапился.
Что должно привести к увеличению прогой кол-во используемой озу.
Да, верно, она будет свапиться, но не сразу, а при след нехватке памяти, но это значит, что память будет заканчиваться, и частично цель достигнута.
Свап тоже не бесконечный, и его можно отключить, если задача заполнить озу
не перекручивайте/

цитирую,
Подскажите незнающему человеку - как заполнить всю озу наиболее компактным способом в с++?
zwitter вне форума  
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 

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

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


Время на сервере: 18:35.

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

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