Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про память / 12 сообщений из 12, страница 1 из 1
25.11.2003, 17:25
    #32334521
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
как при инициализации приложения, отгрызть кусок памяти, и внем сидет, т.е. чтобы размер используемой памяти больше не увеличивался
...
Рейтинг: 0 / 0
25.11.2003, 17:36
    #32334540
123456789098
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
вопрос для чего??? разве ты можешь предвидеть все варианты развития событий в программе и можешь точно вычислить максимально необходимый объем памяти для твоего приложения ? или такой вариант ты оттяпаешь себеофигенный кусок памяти, а операционка его затолкает в свап ... в результате и свап засратый и когда данные из памяти понадобятся их с винта будет подгружать ...

или может я чего то не понимаю?
...
Рейтинг: 0 / 0
25.11.2003, 17:57
    #32334568
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Есть такая необходимость.
...
Рейтинг: 0 / 0
25.11.2003, 19:41
    #32334678
vdimas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
можешь переопределить глобальный оператор new .

дальше все зависит от твоей фантазии.

1. можешь юзать HeapAPI. - это самый легкий путь, "отгрызи" большой heap при инициализации и "кувыркайся" в нем.
2. VirtualAlloc - самый "системный" метод. Ты можешь зарезервировать адресное пространство (ведь я думаю, дело именно в этом), но реально брать память по мере надобности. Но придется тебе использовать самописный менеджер памяти (есть несколько стратегий). Пиши в форум и задавай вопросы.
...
Рейтинг: 0 / 0
27.11.2003, 11:23
    #32336426
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Как я понял нужен кусок памяти именно под рабочие данные, а не под саму программу? (Если ограничить нужно именно саму программу, то это другая песня)

Если да, то так же не нужно использовать локальные переменные - они жрут стек. И параметры передаваемые функции (начиная с третьего) жрут стек.

АПИ для работы с кучей тут ни при чём :)
Объявите вначале всё, что хотите использовать и всё :) Вот вам и статика. Не нужно ничего выделять.
...
Рейтинг: 0 / 0
27.11.2003, 12:29
    #32336558
Evgenye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Память бывает нескольких типов:
1. Под код программы
2. Под стек
3. Под статику
4. Под кучу

Под код программы выделяется сразу, если нет подгрузки из dll (LoadLibrary).
Под статику распределяется тоже сразу.
Как распределяется под стек известно только Windows (как было в dos когда то знал)
С памятью под кучу можно сделать как писал vdimas.
...
Рейтинг: 0 / 0
27.11.2003, 18:33
    #32337139
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
вобщем я пишу менеджер БД, т.е. есть программа которая(кусок из ТЗ):
1. в Windows9х запускается как приложение, в Win2k или сервис или приложение
2. Работа со всеми известными на сегодня БД(SQL, Oracle, Access и т.д.)
3. Использовать определенный формат передачи данных
4. Использовать протокол TCP/IP для передачи данных
5. Выделять область памяти, для: кеша, данных,... короче для всего в чем есть такая необходимость
--------------------------------------------------------------------------
Сделал все кроме пятого.
...
Рейтинг: 0 / 0
27.11.2003, 21:03
    #32337219
Случайный прохожий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Я вот одного не понял: зачем сразу выделять всю память, почему нельзя как все нормальные - по мере надобности. Разве это как то влияет на первые 4 пункта?
...
Рейтинг: 0 / 0
28.11.2003, 00:53
    #32337285
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
--как при инициализации приложения, отгрызть кусок памяти, и внем сидет, т.е. чтобы размер используемой памяти больше не увеличивался

--5. Выделять область памяти, для: кеша, данных,... короче для всего в чем есть такая необходимость

тебе не кажется что выдвинутые оба требования противоречат друг другу ?
...
Рейтинг: 0 / 0
28.11.2003, 10:18
    #32337455
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Lepsik писал:тебе не кажется что выдвинутые оба требования противоречат друг другу ?
Есть такое, но мне за это платят, и меня не интересует противоречат они или нет, т.е. меня интересует только финансовая сторона этого вопроса
Случайный прохожий писал:Я вот одного не понял: зачем сразу выделять всю память, почему нельзя как все нормальные - по мере надобности. Разве это как то влияет на первые 4 пункта?
такое ТЗ, и я делаю по пунктам, и не спрашиваю, а зачем это им.
...
Рейтинг: 0 / 0
28.11.2003, 14:58
    #32337886
Прыгун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
А если в ТЗ напищут: прыгнуть с 10-ого этажа?
...
Рейтинг: 0 / 0
28.11.2003, 17:30
    #32338120
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про память
Прыгун писал:А если в ТЗ напищут: прыгнуть с 10-ого этажа?
А если бы Моника не сделала минет Клинтону?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про память / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]