示例代码一:
#if HAVE_GETRUSAGE
struct rusage rusage;
getrusage(RUSAGE_SELF, &rusage);
return (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec;
#elif HAVE_GETPROCESSTIMES
HANDLE proc;
FILETIME c, e, k, u;
proc = GetCurrentProcess();
GetProcessTimes(proc, &c, &e, &k, &u);
return ((int64_t) u.dwHighDateTime << 32 | u.dwLowDateTime) / 10;
#else
return av_gettime_relative();
#endif
示例代码二:
#undef printf
#define printf please_use_av_log
#undef fprintf
#define fprintf please_use_av_log
#undef puts
#define puts please_use_av_log
本文提供了两种获取进程时间的方法:一种适用于拥有getrusage函数的环境;另一种则使用了Windows API GetProcessTimes函数。文中通过宏定义实现了不同环境下的兼容性,并给出了具体的实现代码。
4万+

被折叠的 条评论
为什么被折叠?



