Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder Bellek ve İşlemci Bilgileri


Bellek ve İşlemci Bilgileri

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu programda belleğin toplam büyüklüğü, kullanılan alanın yüzdelik kısmı, belleğin boş miktarı, cpu sayısı ve tipleri gibi çeşitli bilgiler verilmiştir. Bellek hakkında gerekli bilgileri alabilmek amacıyla GlobalMemoryStatusEx API'si kullanılmıştır. Peki neden GlobalMemoryStatus API'si kullanılmamıştır? Sebebi ise RAM boyutunun 2 GB 'a kadar olduğu noktalarda GlobalStatusMemory API'si geçerlidir. Günümüzde artık bilgisayar büyük boyutlu belleklere sahip olduğundan GlobalStatusMemoryEx API'si kullanılması daha uygun bulunmuştur. Programda kullanılan bellek miktarının yüzde olarak gösterilmesi, toplam fiziksel belleğin boyutunun MB cinsinden gösterilmesi, boş bellek miktarının MB cinsinden gösterilmiştir. Kullanılan bellek miktarı ufak bir matematik hesabı ile toplam fiziksel bellek - boş bellek miktarından bulunabilir. İşlemci bilgisini alabilmek amacıyla GetSystemInfo API'si kullanılmıştır ve bu sayede işlemci sayısı ve işlemci tipi hakkında bilgiler verilmiştir.

Bu bilgiler haricinde sanal bellek miktar, boş sanal bellek bilgisi, boş sayfalama (page file) bilgisi, toplam sayfalama bilgisi gibi bilgilere de GlobalStatusMemoryEx API'si yardımıyla ulaşılabilir. GetSystemInfo API'si yardımıylada işlemci mimarisi, ayrılmış ve maske alan bilgileri, işlemci seviyesi, minimum ve maksimum uygulama adresi bilgilerine de ulaşılabilir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

Unit1.cpp

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm1::TForm1(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  19. {
  20. MEMORYSTATUSEX m;
  21. m.dwLength=sizeof(m);
  22. GlobalMemoryStatusEx(&m);
  23. ProgressBar1->Position=m.dwMemoryLoad;
  24. Label5->Caption="Bellek Kullanımı %"+IntToStr(m.dwMemoryLoad);
  25. Label4->Caption=FloatToStr(m.ullTotalPhys/1024.0/1024.0)+" MB";
  26. Label8->Caption=FloatToStr(m.ullAvailPhys/1024.0/1024.0)+" MB";
  27. SYSTEM_INFO s;
  28. GetSystemInfo(&s);
  29. Label7->Caption=IntToStr(s.dwNumberOfProcessors)+" tane / "+IntToStr(s.wProcessorLevel)+" tip işlemci ";
  30.  
  31.  
  32. }
  33. //---------------------------------------------------------------------------
  34.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazartesi, 03 Eylül 2012 15:55 )