// Test.cpp : Defines the entry point for the console application.
//
#pragma once
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#include <stdio.h>
#include <tchar.h>
#include "Windows.h"
__declspec( naked ) inline unsigned __int64 GetCPUCounter()
{
__asm _emit 0x0F;
__asm _emit 0x31;
__asm ret;
}
int _tmain(int argc, _TCHAR* argv[])
{
LARGE_INTEGER freq;
QueryPerformanceFrequency(&freq);
unsigned __int64 counter;
LARGE_INTEGER counter1;
counter = GetCPUCounter();
QueryPerformanceCounter(&counter1);
unsigned __int64 diff = (GetCPUCounter() - counter);
unsigned __int64 counter2 = GetCPUCounter();
GetCPUCounter();
unsigned __int64 diff1 = (GetCPUCounter() - counter2);
printf("diff: %d/n", diff - diff1);
system("pause");
return 0;
}