获取执行时间的宏的源代码:
windows平台:
#define MACRO_LOOP_BEGIN(times) \
{ \
int ___xxxx__xiyi_eyu_maomao; \
LARGE_INTEGER m_nFreq; \
LARGE_INTEGER beginTime, endTime; \
QueryPerformanceFrequency(&m_nFreq); \
QueryPerformanceCounter(&beginTime); \
for(___xxxx__xiyi_eyu_maomao = 0; ___xxxx__xiyi_eyu_maomao < (times); ++___xxxx__xiyi_eyu_maomao) \
{
#define MACRO_LOOP_END \
} \
QueryPerformanceCounter(&endTime); \
printf( " time:%lld us" ,(endTime.QuadPart*1000000/m_nFreq.QuadPart) - (beginTime.QuadPart*1000000/m_nFreq.QuadPart)); \
}
你可能注意到了,这里用的变量名很奇怪, ___xxx_xiyi_eyu_maomao, 这是为了避免和之前使用的局部变量重复,导致在宏中间误使用了局部变量。
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!