Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 сентября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Как узнать количество доступной памяти

Для получения информации о количестве свободной памяти надо воспользоваться функцией GlobalMemoryStatus(Ex). Вот пример из MSDN:

#include <windows.h>
 #include <stdio.h>
 // чтобы получить результат в Kb, используем делитель.
 #define DIV 1024
 // #define DIV 1
 char *divisor = "K";
 // char *divisor = "";
 // Ширина поля, в которой будут печаться цифры
 // "%*ld" преобразует аргумент списка в int, и выравнивает вправо.
 #define WIDTH 7
 
 void main(int argc, char *argv[]){
   MEMORYSTATUS stat;
   GlobalMemoryStatus (&stat);
 
   printf ("The MemoryStatus structure is %ld bytes long.\n",
           stat.dwLength);
   printf ("It should be %d.\n", sizeof (stat));
   printf ("%ld percent of memory is in use.\n",
           stat.dwMemoryLoad);
   printf ("There are %*ld total %sbytes of physical memory.\n",
           WIDTH, stat.dwTotalPhys/DIV, divisor);
   printf ("There are %*ld free %sbytes of physical memory.\n",
           WIDTH, stat.dwAvailPhys/DIV, divisor);
   printf ("There are %*ld total %sbytes of paging file.\n",
           WIDTH, stat.dwTotalPageFile/DIV, divisor);
   printf ("There are %*ld free %sbytes of paging file.\n",
           WIDTH, stat.dwAvailPageFile/DIV, divisor);
   printf ("There are %*lx total %sbytes of virtual memory.\n",
           WIDTH, stat.dwTotalVirtual/DIV, divisor);
   printf ("There are %*lx free %sbytes of virtual memory.\n",
           WIDTH, stat.dwAvailVirtual/DIV, divisor);
 }
 

В итоге, в консольном окне получим:

The MemoryStatus structure is 32 bytes long.
It should be 32.
78 percent of memory is in use.
There are 65076 total Kbytes of physical memory.
There are 13756 free Kbytes of physical memory.
There are 150960 total Kbytes of paging file.
There are 87816 free Kbytes of paging file.
There are 1fff80 total Kbytes of virtual memory.
There are 1fe770 free Kbytes of virtual memory.

 

 



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS