LINUX C 中如何产生一个时钟,比如27M的用于计时

LINUX C 中如何产生一个时钟,比如27M的用于计时,第1张

使用cpu的rdtsc汇编指令:

#include <stdio.h>

int get_rdtsc() ...{

return asm("rdtsc")

}

这个函数可以获得cpu的时间戳,分辨率当然是cpu的主频, 如果cpu频率高的话, 27MHz的定时误差应该不是很大。但是, 你要输出和处理这个时钟信号产生的延迟也不太好控制,毕竟不是实时系统。。。。

#include <cstdio>

#include <ctime>

using namespace std

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void printTime() {

  struct tm t   //tm结构指针

time_t now  //声明time_t类型变量

time(&now)      //获取系统日期和时间

localtime_s(&t, &now)   //获取当地日期和时间

   //格式化输出本地时间

printf("年-月-日-时-分-秒:%d-%d-%d %d:%d:%d\n", t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)

}

int main(int argc, char** argv) {

printTime()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8222199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存