Bir Windows platformunda yönetilmeyen C++ kullanarak, ana bilgisayarımın işlemci çekirdeklerinin sayısını saptamanın basit bir yolu var mı?Sayım İşlemcileri Windows altında C++ kullanarak
cevap
Gereksinim duyduğunuz bilgileri almak için GetLogicalProcessorInformation kullanabilirsiniz.
ETA: Bir yorumcu bağlı söz konusu belirtildiği gibi
, başka (daha kolay) yolu GetSystemInfo yoluyla olacağını yapmalı:
SYSTEM_INFO sysinfo;
GetSystemInfo(&sysinfo);
numCPU = sysinfo.dwNumberOfProcessors;
size daha ayrıntılı bilgi verecek GetLogicalProcessorInformation gibi görünüyor, ama ihtiyacınız olan tek şey işlemci sayısı ise, GetSystemInfo muhtemelen iyi çalışır.
Sadece doktor siparişi ne işliyor, bir tedavi çalışıyor. Teşekkürler! –
Kontrol dışarı GetLogicalProcessorInformation
Ben XP NUMBER_OF_PROCESSORS
değişken bir ortam var fark ettik ama Microsoft'un sitesindeki bulamadım. Yine de bunun en kolay yol olacağını düşünüyorum.
size_t getProcessorCores()
{
DWORD process, system;
if(GetProcessAffinityMask(GetCurrentProcess(), &process, &system))
{
int count = 0;
for(int i = 0; i < 32; i++)
if(system & (1 << i))
count++;
return count;
}
// may be we hav't PROCESS_QUERY_INFORMATION access right
SYSTEM_INFO sysinfo;
GetSystemInfo(&sysinfo);
return sysinfo.dwNumberOfProcessors;
}
size_t getAvailableProcessorCores()
{
DWORD process, system;
if(GetProcessAffinityMask(GetCurrentProcess(), &process, &system))
{
int count = 0;
for(int i = 0; i < 32; i++)
if(process & (1 << i))
count++;
return count;
}
// may be we hav't PROCESS_QUERY_INFORMATION access right
SYSTEM_INFO sysinfo;
GetSystemInfo(&sysinfo);
return sysinfo.dwNumberOfProcessors;
}
- 1. C# windows uygulama formunda çoklu geri sayım zamanlayıcıları nasıl oluşturulur?
- 2. C# - LocalSystem altında çalışan Windows Service, Visual Studio kurulum projesi
- 3. Windows Vista altında işaretçi kararlılığı
- 4. "Windows" kategorisi altında Visual Studio şablonlarını oluşturma.
- 5. Windows altında bir C++ projesinde cpp-netlib'yi kullanma
- 6. Kaynak dosya X, Windows Sistem Dosya Koruması altında C# altında mı?
- 7. Blackberry Emulator, Web sitesi altında test etmek için Windows altında
- 8. Sayım sayıları
- 9. Windows altında NUL cihazına node.js'den nasıl yazabilirim?
- 10. Windows, Windows altında IntelliJ IDEA Komutu/Meta anahtarını nasıl oluşturur?
- 11. Windows API kullanarak C++'da Nasıl Oynanır?
- 12. C# kullanarak Windows güncelleştirmelerini karşıdan yükleme #
- 13. .NET SplitContainer C# Windows Forms kullanarak
- 14. Windows kimlik doğrulamasını asp.net ile kullanarak C#
- 15. Seçilen stilde ataç çalıştırma işlemcileri
- 16. , Windows -C# - bağlayan hatlar
- 17. Windows 7/visual studio 2008 altında Windows XP'yi nasıl derlerim?
- 18. Windows, C++
- 19. Windows altında günlük dosyalarını nasıl paylaştınız?
- 20. Windows altında TCP paket engelleme ve yönlendirme
- 21. Windows altında herhangi bir VI benzeri editör?
- 22. maksimum sayım
- 23. Bir c başlık altında paylaşılan c sabitleri
- 24. C# kullanarak Windows 7 için Internet bağlantısını engelleyin C#
- 25. Geri sayım sayaçlarını C++ uygulamasında nasıl kullanılır?
- 26. Levenshtein mesafesi C# sayım hata türü
- 27. C Programlama: Basit Geri Sayım Programı
- 28. C# LINQ sayım öğeleri ile DISTINCT
- 29. Mysql sayım
- 30. Windows C
İlgili soru: http://stackoverflow.com/questions/150355 – macbirdie
[Programlı bir makinede çekirdeklerinin sayısını bulmak] (olası yinelenen http://stackoverflow.com/questions/150355/programmatically- – sschuberth