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

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблоны функций. Есть ошибки http://www.cyberforum.ru/cpp-beginners/thread594815.html
Помогите исправить ошибки! #include <iostream> #include <math.h> using namespace std; template <class T> T myfind(T* arr, int n) { int i,j,maxelem,minelem;
C++ Программа зависает Делаю игру типа Pacman я управляю им с помощю стрелок и по лабиринту произвольно двигается враг через некоторое время программа зависает... я не могу больше управлять пекменом и вообще ничего не двигается... В чем проблема? Переполняется буфер или утечка памяти? Добавлено через 40 минут может ето из-за таймера??? http://www.cyberforum.ru/cpp-beginners/thread594813.html
Как прочитать весь файл? C++
У меня проблема, написал программу которая должна считывать текст из файла и сортировать слова в нем по алфавиту, но она считывает только первую строку, уже очень много чего перепробовал, но безуспешно, может быть кто-нибудь может помочь? Вот код: #include <iostream> #include <vector> #include <string> #include <algorithm> #include <iterator> #include <iostream> #define IFNAME "laba7.txt"...
Структура абитуриент, осталась одна ошибка C++
1. Структура "Абитуриент": - фамилия, имя, отчество; - год рождения; - оценки вступительных экзаменов (3); - средний балл аттестата. Удалить элемент с указанным номером, добавить элемент после элемента с указанной фамилией #include "iostream" #include <stdio.h>
C++ Сформировать идеально сбалансированное бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread594774.html
Дан текст программы. Проверти правильно или нет описание сделал? TNode* makePerfectBalancedTree(int n, TNode* p) // происходит формирование дерева { TNode *r; //тк TNode* r объект используемые для построения геометрической иерархии int nl, nr; // вводим правое и левое значение поддерева if(n == 0) // если n=0 { p = NULL; //переменной p присваивают значение нулл пустое...
C++ Оптимизация времени выполнения Доброго времени суток. Есть следующая задача. Задача олимпиадная, потому учитывается время выполнения, нужно вложится в 1секунду. Мой код на сервере работает 1,014 с. Никак не могу уменшыть время выполнения. Помогите кто может. Условие и мой код ниже. Последовательность an задается следующей формулой: an = n2 mod 12345 + n3 mod 23456. Требуется много раз отвечать на запросы следующего... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
03.06.2012, 21:22     SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
Игорь с++, пройди по ссылке
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
When the SystemInformationClass parameter is SystemProcessorPerformanceInformation, the buffer pointed to by the SystemInformation parameter should be large enough to hold an array that contains as many SYSTEM_PROCESS_INFORMATION structures as there are processors (CPUs) installed in the system. Each structure has the following layout:
typedef struct
_SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {
LARGE_INTEGER IdleTime;
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER Reserved1[2];
ULONG Reserved2;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
The IdleTime member contains the amount of time that the system has been idle, in 1/100ths of a nanosecond.
The KernelTime member contains the amount of time that the system has spent executing in Kernel mode (including all threads in all processes, on all processors), in 1/100ths of a nanosecond.
The UserTime member contains the amount of time that the system has spent executing in User mode (including all threads in all processes, on all processors), in 1/100ths of a nanosecond.
Use GetSystemTimes instead to retrieve this information.
Добавлено через 3 минуты
Вот что дал гугл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
double CPUUsage()
{
    typedef NTSTATUS (NTAPI* pfNtQuerySystemInformation) (
        IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
        OUT PVOID SystemInformation,
        IN ULONG SystemInformationLength,
        OUT PULONG ReturnLength OPTIONAL
        );
 
    static pfNtQuerySystemInformation NtQuerySystemInformation = NULL;
 
    if(NtQuerySystemInformation == NULL)
    {
        HMODULE ntDLL = ::GetModuleHandle("ntdll.dll");
        NtQuerySystemInformation = (pfNtQuerySystemInformation)GetProcAddress(ntDLL ,"NtQuerySystemInformation");
    }
 
    static SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION lastInfo = {0};    
    SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION curInfo = {0};
 
    ULONG retsize;
 
    NtQuerySystemInformation(SystemProcessorPerformanceInformation, &curInfo, sizeof(curInfo), &retsize);    
 
    double cpuUsage = -1;
 
    if(lastInfo.KernelTime.QuadPart != 0 || lastInfo.UserTime.QuadPart != 0)
        cpuUsage = 100.0 - double(curInfo.IdleTime.QuadPart - lastInfo.IdleTime.QuadPart) / 
        double(curInfo.KernelTime.QuadPart - lastInfo.KernelTime.QuadPart + curInfo.UserTime.QuadPart - lastInfo.UserTime.QuadPart) * 100.0;
 
    lastInfo = curInfo;
 
    return cpuUsage;    
}
 
Текущее время: 14:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru