gpt4 book ai didi

c - 获取系统时间的奇怪方法

转载 作者:行者123 更新时间:2023-11-30 16:36:41 25 4
gpt4 key购买 nike

我在我的项目中找到了这个宏:#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;

正如您所看到的,这个奇怪的变量被用于其他计算中。我不确定我是否可以透露太多这段代码:(

这被用在许多帮助操纵系统时间的函数中。这是在做不需要的任务以外的事情吗?

最佳答案

找到了! (经过广泛搜索)

该项目的功能与 Jean-François Fabre 评论的非常相似,但邪恶的 eclipse 却向我展示了那个奇怪的宏:

UINT4 OsixGetSysTime (tOsixSysTime * pSysTime)
{
clock_t CurTicks;
UINT4 u4TicksPerStup;
CurTicks = times (NULL);
*pSysTime = (CurTicks - gStartTicks) * gu4Stups / sysconf(_SC_CLK_TCK);
return (OSIX_SUCCESS);
}

我确信代码是用函数而不是宏来编译的(因为它与一致的系统时间一起工作),这让我想知道为什么 Eclipse 会定向到宏,但无论如何,谜团已经解决了。谢谢大家

关于c - 获取系统时间的奇怪方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com