【发布时间】:2020-04-03 08:08:27
【问题描述】:
我使用的是树莓派 3,想通过 localtime() 获取本地计算机时间,但我不知道该怎么做。我的老师试图帮助我,但他甚至不知道怎么做就结束了代码
#include <stdio.h>
#include <time.h>
int main () {
time_t rawtime;
struct tm *info;
time( &rawtime );
info = localtime( &rawtime );
printf("Current local time and date: %s", asctime(info));
return(0);
}
然后只是编译成汇编,但我认为这太复杂了,想知道是否有一种更直接的方法可以在 arm 汇编中找到本地时间。 谢谢
【问题讨论】:
-
在 Linux 下?原始系统调用是
clock_gettime,但如果 Pi 3 有一个用户空间可以直接读取的时间源,那么通过 VDSO 调用它可能是避免从用户切换到内核并返回的最佳方法(内核导出一个几页代码和数据,其中包含系统调用的用户空间实现,例如getpid。正常的 C 库包装器在适当的情况下默认使用它。使用调试器单步进入它们)
标签: c++ c assembly arm localtime