我在项目中找到了这个宏:#define OsixGetSysTime(a) (*a = *a)
从
调用VOID
UtlGetTime (tUtlTm * tm) /* tm is a struct that was memset to 0 */
{
UINT4 u4Ticks;
OsixGetSysTime (&u4Ticks);
u4Ticks -= gu4TicksCorr; // gu4TicksCorr is global value
UtlGetTimeForTicks (u4Ticks, tm);
}
这是UtlGetTimeForTicks
:
VOID
UtlGetTimeForTicks (UINT4 u4Ticks, tUtlTm * tm)
{
UINT4 u4ElapsedSecs;
UINT4 u4DaysInYear;
UINT4 u4Days;
UINT4 u4Leap;
UINT4 u4Month;
UINT4 u4Secs;
tUtlTm TmBuf;
u4ElapsedSecs = u4Ticks / gu4Stups;
如您所见,该奇怪变量用于其他计算。我不确定我能透露太多这段代码:(
这用于许多有助于操纵系统时间的函数。这是否做了除了不需要的任务以外的事情?
答案 0 :(得分:0)
该项目的功能与Jean-FrançoisFabre评论的功能非常相似,但邪恶的日食却向我展示了这个奇怪的宏:
UINT4 OsixGetSysTime (tOsixSysTime * pSysTime)
{
clock_t CurTicks;
UINT4 u4TicksPerStup;
CurTicks = times (NULL);
*pSysTime = (CurTicks - gStartTicks) * gu4Stups / sysconf(_SC_CLK_TCK);
return (OSIX_SUCCESS);
}
我确信代码编译的是函数,而不是宏(因为它与一致的系统时间一起工作),这让我想知道为什么eclipse指向宏,但无论如何,神秘解决了。谢谢大家