Windows10下无DateUtils库时Pascal程序执行时间获取方法咨询
计算Pascal程序执行时间(Windows 10环境)
如果没有DateUtils库,你可以直接调用Windows系统API实现计时,以下两种方法无需额外依赖:
方法一:毫秒级计时(GetTickCount)
GetTickCount返回系统启动以来的毫秒数,适合对精度要求不高的场景:
program MeasureExecutionTime; uses Windows; var StartTime, EndTime: DWORD; begin StartTime := GetTickCount; // 替换为你需要计时的程序代码 Sleep(1000); // 示例:模拟1秒耗时操作 EndTime := GetTickCount; Writeln('执行时间: ', EndTime - StartTime, ' 毫秒'); end.
方法二:高精度计时(QueryPerformanceCounter)
如果需要微秒级精度,用QueryPerformanceCounter搭配QueryPerformanceFrequency,适合短时间操作的计时:
program HighPrecisionTimer; uses Windows; var StartCount, EndCount, Frequency: Int64; ElapsedTime: Double; begin QueryPerformanceFrequency(Frequency); // 获取计时器每秒的计数次数 QueryPerformanceCounter(StartCount); // 记录计时开始点 // 替换为你需要计时的程序代码 Sleep(500); // 示例:模拟500毫秒耗时操作 QueryPerformanceCounter(EndCount); // 记录计时结束点 // 计算耗时(转成毫秒保留三位小数) ElapsedTime := (EndCount - StartCount) / Frequency * 1000; Writeln('执行时间: ', ElapsedTime:0:3, ' 毫秒'); end.
注意:以上代码需要编译器支持Windows API调用(Free Pascal、Delphi等主流Pascal编译器均支持),只需引入Windows单元即可,无需额外安装库。
内容的提问来源于stack exchange,提问作者ichil
相关产品推荐
相关产品推荐

