Разрабатывается программа на С и нужно внутри нее замерять реальные промежутки времени и процессорные. С реальными все в порядке (использую QueryPerformanceCounter), а со вторыми — проблема. Не могу найти способ получить именно время затраченное _процессором_ на выполнения программы. По стандарту функция clock() должна мне давать процессорное время. У меня же она выдает реальное время. Проверял просто — заставлял программу переходить в Idle-состояние на время N сек/мин/etc. Процессор при этом не нагружался. Затем, как обычно, по разнице значений двух clock() вычислял время — оно оказывалось каждый раз ровно или почти ровно N.
Как решить такую проблему в Windows? Я пока не нашел подходящего API.