求救:arm-linux-gcc 环境下,如何使用rdtsc指令?(下面附有源码)

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:16:56
#include"stdio.h"
#define rdtsc(lowpart,highpart) __asm__ ("rdtsc" : "=a" (lowpart), "=d" (highpart))
int main()
{
unsigned long i,j;
rdtsc(i,j);
return(0);
}
每次编译都出错,parase error before ":"token//位置就在rdtsc(i,j);
帮我看看吧,谢谢了
你没有明白我的问题哟,rdtsc这个函数是我自己定义的,它是代替后面的那条汇编指令,就是读取寄存器TSC的值,我觉得问题是arm处理器中到底有没有这样类似的储存cpu从开机时运行的周期数?如果有,该如何读取这个寄存器的值?谢谢

你直接去arm-linux-gcc的安装目录搜索一下
find -name '*.[ch]' | xargs grep -E 'rdtsc'看这个函数在拿个头文件里。没有的话估计就是不支持。