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

Освобождение памяти, занятой вектором - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Учебник Структуры и алгоритмы обработки данных http://www.cyberforum.ru/cpp-beginners/thread348926.html
Добрый день... Посоветуйте пожалуйста какой нибудь электронный учебник по структурам и аглоритмам обработки данных где все понятным языком написанно... вот пример Полный справочник Шилдта по С С++
C++ Добавить символ '//' в строку Ребят, необходимо добавить символ // в массив char. Когда делаю так: const char сh = {"http://www.mail.ru" "http://www.yandex.ru" }; то компилятор, как вы понимаете, воспринимает это как комментарий и выдает ошибку. http://www.cyberforum.ru/cpp-beginners/thread348839.html
Переход на Visual C++ c Delphi C++
Здрасте всем!! В общем начинал я с турбо паскаля, потом перешел на Delphi в общем писал я для себя некоторые програмки и какие то мелкие базки данных на заказ конторкам очень редко. Теперь решил поиграться с портами USB СОМ и понял что там все через одно место. Надо изучать Visual C. В общем поставил я Visual C++ Pro. Скачал учебники разные. Там даже не совпадает создание проэктов. И...
C++ Увеличить размеры шрифтов в VS 6.0
У меня под 7кой x64 вот такая картинка в VS 6.0 в настройках шрифтов (см. прикреплённый файл), а лабораторные по с++ нужно сдавать с условием что они будут запускаться в VS 6.0. Что можно сделать чтобы выбор размера шрифтов под 7кой в этой версии VS работал корректно? Может кто пользуется этой версией VS в наше время и подскажет мне.
C++ Пользуясь рекуррентной формулой.... http://www.cyberforum.ru/cpp-beginners/thread348809.html
значения в списках рандом Добавлено через 21 минуту я в этом деле новичок слабо шарю, да и по специальности потом не особо надо будет. кто сможет напишите проги. P.S. списки отдельно Прикрепляйте файлы к сообщениям. Ну и вообще правила почитайте...
C++ задачка для зачета Движение закрашенного круга по синусоиде из левого нижнего угла экрана в правый верхний угол. подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
09.09.2011, 20:01     Освобождение памяти, занятой вектором
Union, в манах сказано так:

malloc_trim() explicitly requests that any unused memory space be returned to the OS. Note that this happens automatically when free() is called with a sufficiently large chunk; see the M_TRIM_THRESHOLD and M_TOP_PAD parameters, above. pad specifies the number of bytes to be retained for use in future allocation requests; when called by free(), this is the value of M_TOP_PAD.
Добавлено через 3 минуты
malloc_trim() явным образом возвращает любую неиспользованную память системе. Это проиходит автоматически, когда вызывается free() для достаточно большого сегмента кучи. См. параметры M_TRIM_THRESHOLD и M_TOP_PAD выше (здесь ниже). pad определяет количество байт, которые необходимо оставить для запросов на выделение памяти в будущем. Когда вызывается из free(), это значение равно M_TOP_PAD.

Добавлено через 5 минут
M_TRIM_THRESHOLD
Unused memory is returned to the OS when the size available to be returned exceeds the given value.

Note that not all unused memory is able to be returned to the OS; in particular, it is not possible to return an unused block when an in-use block lies between it and the ``top'' of the data segment. However, the free block may be used to satisfy future allocation requests.

Smaller values for this parameter cause sbrk() to be called more frequently with a negative argument, reducing memory usage, but with increased overhead of extra syscalls. A value of -1 disables trimming. Default: 128*1024.
M_TRIM_THRESHOLD
Неиспользованная память возвращается системе, когда размер памяти, доступной для возврата, превышает данное значение.

Не всю память можно вернуть системе. В частности, невозможно вернуть неиспользуемый блок памяти, когда используемый блок располагается между ним и началом сегмента данных. Тем не менее, этот блок может быть использован для того, чтобы удовлетворить будущие запросы на выделение памятию

Меньшие значения для этого параметра приводят к тому, что sbrk() вызывается чаще с отрицательным аргументом, уменьшая использование памяти, но увеличивая накладные расходы на дополнительные системные вызовы. Значение -1 запрещает (отсечение? возврат памяти ОС?). Значение по-умолчанию: 128*1024.

Добавлено через 4 минуты
M_TOP_PAD
When sbrk() is called with a positive argument to allocate additional address space, the given value specifies an additional amount to be allocated, beyond what is necessary to satisfy the request. This value also defines an amount of address space which is not released to the OS when sbrk() is called with a negative argument. Again, the intent is to minimize the number of syscalls, without needlessly using large usage of memory. Default: 0 (allocation requests are internally rounded up to the page size, and the extra allocated size is already sufficient to reduce the syscall overhead).
M_TOP_PAD
Когда для выделения дополнительного адресного пространства вызывается sbrk() с положительным аргументом, данное значение определят количество памяти, выделяемой сверх необходимого. Это значение также определяет количество адресного пространства, которое не отдаётся системе когда вызывается sbrk() с отрицательным аргументом. Смысл этого - в уменьшении количества системных вызовов без увеличения нецелесообразного расхода памяти. Значение по-умолчанию: 0 (запросы на выделение памяти округляются в большую сторону до размера страницы, и памяти, выделенной дополнительно, достаточно для уменьшения расходов на системные вызовы.

Добавлено через 1 минуту
Короче, вот эта страница в сети.
 
Текущее время: 03:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru