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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Vyacheslav
Сообщений: n/a
#1

Как узнать объем доступной памяти портабельным кодом? - C++

09.03.2007, 15:45. Просмотров 2263. Ответов 3
Метки нет (Все метки)

Доброе время суток! Вот такая задачка - именно количество свободной, а не момент, когда невозможно выделить запрошенный блок памяти. Должно работать под UNIX/WINDOWS. Если кто-то знает способ - поделитесь пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2007, 15:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как узнать объем доступной памяти портабельным кодом? (C++):

Проверить объем доступной памяти - C++
Нужно проверить объем доступной памяти до и после выполнения программы. Как это можно сделать?

Определение размера памяти доступной для программы - C++
Как можно определить в программе размер доступной памяти? Необходимо для ограничения масимально возможного размера выделяемого...

Как узнать объём выделеной динамичесой памяти? - C++
sizeof(new_alloc) в этом случаи бесполезно так как указатель у меня всегда равен 4 байта. Можно, конечно при помощи цикла передвигать...

Как узнать размер массива в динамической памяти? - C++
Добрый вечер еще раз! Напишите пожалуйста как можно узнать истинный размер массива, находящегося в динамической памяти, созданными при...

Как узнать, в процесе отладки, сколько памяти занимает программа? - C++
Вот чтобы проследить за тем сколько и когда программа занимает и какое количество килобайт под капие переменные.... Чтобы увидеть что...

Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a? - C++
Скажем я в какой-то момент выделяю память под массив: int *a = new int ; затем память может изменяться как-то и конечный размер мне не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
10.03.2007, 17:57 #2
для Windows можно воспользоваться функциями API:

GlobalMemoryStatus - http://msdn2.microsoft.com/en-us/library/aa366586.aspx

GlobalMemoryStatusEx - http://msdn2.microsoft.com/en-us/library/aa366589.aspx



под UNIX надо искать, насколько мне известно, единого стандарта нет, хотя возможно реализации получения информации о состоянии памяти уже существуют в каких-нибудь библиотеках C++ для межплатформенной разработки, что-нибудь типа GTK+



Удачи,

Владимир
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
10.03.2007, 18:01 #3
http://www.net-snmp.org/wiki/index.php/Memory_HAL



Под следующим разделом приведены примеры для различных OS для получения свободной физической памяти:



MEMAVAILREAL:

MEM_PHYSMEM -> free



Удачи,

Владимир
Vyacheslav
Сообщений: n/a
10.03.2007, 18:20 #4
Ага, спасибо boombastik !
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2007, 18:20
Привет! Вот еще темы с ответами:

Как узнать, сколько памяти занимает тот или иной элемент программы? - C++
Товарищи, подскажите, пожалуйста, ответы на следующие вопросы: 1) Есть какие-либо средства определения, сколько памяти жрёт программа в...

Map STL - максимальный объем памяти - C++
Пишу модуль для программы - что-то вроде переводчика. Есть словарь синонимов (40+мб). Загружаю его в map, но после 740000+ ключа,...

Объем памяти выделяемый под unsigned char - C++
Всем привет. Объясните разницу между array = new unsigned char(7*sizeof(unsigned char)); и unsigned char array; Почему при...

Какой объем памяти занимает пустая двусторонняя очередь (deque)? - C++
Сколько бит в памяти занимает дек перед добавлением в него элементов и как распределяется память под его блоки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.03.2007, 18:20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru