问题描述
我想编写一个函数来获取当前时间戳。由于直接使用__retscp(&addr)函数,因此每次必须输入一个参数。我想在.h文件中编写一个函数cutTime(),该函数每次都返回当前时间戳。由于我不想因为函数调用过程而浪费时间,因此将其定义为内联函数。一个使用rdtsc,另一个使用rdtscp。 我的两个实现与直接使用__retscp(&addr)一样吗?
1.static inline uint64_t curTime() {
uint64_t a,d;
asm volatile ("mfence");
asm volatile("rdtsc" : "=a"(a),"=d"(d) :: "rcx");
a = (d<<32) | a;
asm volatile ("mfence");
return a;
}
2.static inline uint64_t curTime() {
uint64_t a;
asm volatile ("rdtscp" : "=a" (a));
return a;
}
3.__rdtscp( & junk)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)