计算程序在uefi中运行所花费的时间

问题描述 投票:0回答:1

我想计算我的应用程序运行需要多长时间。我正在尝试使用刻度来计算经过的时间。基本上使用 PerformanceLib 和 TimerLib

Frequency = GetPerformanceCounterProperties(NULL, NULL);
StartTick = GetPerformanceCounter();
EndTick = GetPerformanceCounter();
ElapsedTicks = EndTick > StartTick ? EndTick - StartTick : StartTick - EndTick;
TimeInSeconds = (double)ElapsedTicks / Frequency;

我每次都得到 0 秒。有这方面的线索吗?预先感谢。

c time bios uefi edk2
1个回答
0
投票

您必须在 .inf 文件中包含 TimerLib:

[LibraryClasses]
   ...
   TimerLib

并且还在您的 .dcs 文件中包含正确的 lib 实现:

[LibraryClasses]
   ...
   TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf

请注意,如果在虚拟机或 QEMU 上运行,CpuTimerLib 中的 BaseCpuTimerLib 可能无法正常工作

© www.soinside.com 2019 - 2024. All rights reserved.