python 实现rdtsc 在linux windows 下几个函数接口

python 实现rdtsc 在linux windows 下几个函数接口_第1张图片

extern "C" {
	__int64 __declspec(dllexport) get_rdtsc()
	{
		unsigned __int64 i;
		i = __rdtsc();
		return  i;
	}
}

关于windows下rdtsc的两个问题点:

  1. 不能像linux平台下那样写 否则在windows下编译不出64位库,python load 库需要64位
  2. __declspec(dllexport) 这个不加 找不到库里面的函数

linux 平台下rdtsc的计算代码:

typedef long long __u64;
typedef long __u32;
__u64 get_rdtsc(){
    __u32 hi,lo;
    __asm__ __volatile__ 
    (
        "rdtsc" : "=a" (lo),"=d"(hi)
    );

    return (__u64) hi<<32|lo;

你可能感兴趣的:(应用程序)