这是面试航空工业上海航空电器有限公司碰到的一道题目,我当时面试的是三维视景仿真软件开发工程师。那位面试官忒无理,因为提前知道这家公司给的薪资不会很高,但是公积金据说是按照24%交的,起初我以为这是一家高大上的公司,后来在我转了两趟地铁再转一趟公交后才到达目的地,目的地已经在奉贤区比较偏远的地方了。那时候我面完试想吃个饭,结果饭堂要让我去拿票然后再吃,当时心情非常糟糕,直接坐公交出来印象很不好。

        当时问我一些MFC的题目,我都答上来了,主要那面试官非常像大学的那种问答方式,都是他在问,然后我回答他一般也不作对错评价,然后就啰嗦下去。问我MFC中的定时器的用法,然后又问我怎么实现高精度定时器。这个我老实来说是真的不会,因为其实定时器大都是秒级别,精度越高就说明ms,us这些级别,而实现这些我觉得有专门的windows接口就够了,但是它想要的答案也不是这个。我后面回来查了一下资料才知道他想要的答案是用MFC的接口QueryPerformanceFrequency和QueryPerformanceCounter。也就是下面的实现方式

LARGE_INTEGER Frequency,CountEnd,CountStart;
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&CountStart);
double dfElapseMS=0;
QueryPerformanceCounter(&CountEnd);
dfElapseMS=(double)((double)(CountEnd.QuadPart-CountStart.QuadPart+10)/(double)Frequency.QuadPart)*1000.0;

        这个接口还比较特殊,要