static inline void sfnt_tsc(uint64_t* pval) { uint64_t low, high; __asm__ __volatile__("rdtsc" : "=a" (low) , "=d" (high)); *pval = (high << 32) | low; }
时间: 2024-03-29 17:40:30 浏览: 142
这段代码看起来和之前的代码很相似,只是把获取时间戳的函数封装成了一个名为 sfnt_tsc 的静态内联函数。这个函数接受一个指向 64 位无符号整数的指针作为参数,用于存储获取到的时间戳。
函数的实现和之前的代码一样,使用了内联汇编的方式,调用了 x86 架构下的时间戳计数器指令 rdtsc,将其结果存储在 low 和 high 变量中。然后将高位和低位合并成一个 64 位的无符号整数,并将其赋值给指针 *pval 所指向的变量。
这个函数的作用和之前的代码一样,用于获取一个用于测量代码执行时间的时间戳。由于是内联函数,因此可以在代码中直接调用,而不需要额外的函数调用开销。
相关问题
FT_Get_Font_Format
FT_Get_Font_Format 是 FreeType 库中的一个函数,用于获取字体文件的格式。它的函数原型如下:
```
FT_Error FT_Get_Font_Format(FT_Face face, FT_Long *aformat);
```
其中,参数 face 是一个已经打开的字体文件的句柄,而参数 aformat 则是一个指向 FT_Long 类型的指针,用于存储字体文件的格式。在函数调用成功后,该指针将被设置为以下之一:
- FT_FONT_FORMAT_NONE:表示字体文件格式未知或无法识别;
- FT_FONT_FORMAT_TYPE1:表示字体文件为 Type 1 格式;
- FT_FONT_FORMAT_TYPE42:表示字体文件为 Type 42 格式;
- FT_FONT_FORMAT_SFNT:表示字体文件为 TrueType 或 OpenType 格式;
- FT_FONT_FORMAT_CID:表示字体文件为 CID-keyed 格式;
如果函数调用失败,返回一个非零值的错误码。
阅读全文