![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Количество оперативной памяти в системе. [XP]
programmer90 © (2008-05-30 19:11:00)Ещё раз здрасти.Вот ещё один вопрос: как узнать сколько всего оперативной памяти в системе, что за процедура или функция.
И как узнать сколько памяти расходуется моим приложением.
Всем спасибки.
programmer90 (2008-06-02 09:35:00) [1]Loginov Dmitry. (31.05.08 00:48) [15]
Можно оба варианта, и с подкачкой и без подкачки.
Loginov Dmitry. (2008-05-31 00:48:00) [2]Кстати, по [0]:
> Ещё раз здрасти.Вот ещё один вопрос: как узнать сколько
> всего оперативной памяти в системе, что за процедура или
> функция.
> И как узнать сколько памяти расходуется моим приложением.
>
Сначало бы неплохо выяснить, с какой целью автору все это нужно.
А то начнет определять сколько памяти расходуется, так и попадет в минуса.
Особенно, если прицепится к файлу подкачки :)
nimble_ (2008-05-31 00:41:00) [3]Удалено модератором
Loginov Dmitry. (2008-05-31 00:39:00) [4]On computers with more than 4 GB of memory, the GlobalMemoryStatus function can return incorrect information, reporting a value of –1 to indicate an overflow. For this reason, applications should use the GlobalMemoryStatusEx function instead.
On Intel x86 computers with more than 2 GB and less than 4 GB of memory, the GlobalMemoryStatus function will always return 2 GB in the dwTotalPhys member of the MEMORYSTATUS structure. Similarly, if the total available memory is between 2 and 4 GB, the dwAvailPhys member of the MEMORYSTATUS structure will be rounded down to 2 GB. If the executable is linked using the /LARGEADDRESSAWARE linker option, then the GlobalMemoryStatus function will return the correct amount of physical memory in both members.
Функция с сюрпризами, однако :)
nimble_ (2008-05-31 00:36:00) [5]Удалено модератором
Loginov Dmitry. (2008-05-31 00:32:00) [6]
> При >2 гигов функция вернет минус.
А может не вернет. Ну тогда и фиг с нею. Главное в минус не уйти :)
Palladin (2008-05-31 00:31:00) [7]волшебные три буквы AWE и весь пух идет прахом
Loginov Dmitry. (2008-05-31 00:30:00) [8]
> Плз, тогда, как по-умному узнать размер ОЗУ?
> 2 гига памяти максимум определит!
Хуже другое. При >2 гигов функция вернет минус. А если логика программы построена на таких проверках, то лучше без них вообще обойтись, иначе придется потом заставлять юзеров "лишнюю" память вынимать.
nimble_ (2008-05-31 00:23:00) [9]Удалено модератором
Умищ (2008-05-31 00:22:00) [10]
> Loginov Dmitry. (30.05.08 23:59) [3]
> > Function GetRAMSize:integer;> Var MS : TMemoryStatus;>
> Begin GlobalMemoryStatus(MS);> Result := MS.dwTotalPhys;
> > End;За такое - только расстреливать!
За что?
nimble_ (2008-05-31 00:15:00) [11]Удалено модератором
Loginov Dmitry. (2008-05-31 00:14:00) [12]Удалено модератором
nimble_ (2008-05-31 00:07:00) [13]Удалено модератором
Loginov Dmitry. (2008-05-30 23:59:00) [14]
> Function GetRAMSize:integer;
> Var MS : TMemoryStatus;
> Begin GlobalMemoryStatus(MS);
> Result := MS.dwTotalPhys;
> End;
За такое - только расстреливать!
programmer90 (2008-05-30 20:24:00) [15]nimble_благодарю-с, более подробного ответа я не ожидал.
На счет перевода... а он и не нужен, все и так ясно :)
nimble_ (2008-05-30 19:14:00) [16]Удалено модератором