在没有第三方库的 Linux 上获取毫秒时间
与 Windows 不同,其中 Clock() 函数提供毫秒时间, Linux,它将其四舍五入到最接近的 1000。这将精度限制为秒级,使其无法用于捕获毫秒。
虽然 Qt 通过其 QTime 类提供了解决方案,但仍在寻求更通用的方法。通过利用标准 C 库,可以采用可靠的方法在 Linux 上获取毫秒时间。
以下代码片段演示了如何使用 gettimeofday() 函数实现此目的:
#include <sys/time.h> #include <stdio.h> #include <unistd.h> int main() { struct timeval start, end; long mtime, seconds, useconds; gettimeofday(&start, NULL); usleep(2000); gettimeofday(&end, NULL); seconds = end.tv_sec - start.tv_sec; useconds = end.tv_usec - start.tv_usec; mtime = ((seconds) * 1000 + useconds/1000.0) + 0.5; printf("Elapsed time: %ld milliseconds\n", mtime); return 0; }
通过利用 gettimeofday() 函数,代码检索指定延迟(本例中为 2 毫秒)之前和之后的当前时间。然后计算秒和微秒的差值并将其转换为毫秒。这种方法提供了一种精确且符合标准的方法,无需依赖第三方库即可在 Linux 上获取毫秒时间。
以上是没有第三方库,如何在 Linux 上获得毫秒级的时间?的详细内容。更多信息请关注PHP中文网其他相关文章!