开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
cpu_features首页、文档和下载 - 即时查询 CPU 功能的函数库 - 开源中国社区
全部项目分类
我要评价
Apache
C/C++
跨平台
Google
分享
收藏
29 人收藏
收录时间:2018-02-09
cpu_features 详细介绍

cpu_features 是一个小型的开源函数库,可以在运行时(Runtime)检索 CPU 功能,为了维持最大的可移植性以 C89 编写,不占用内存且能在沙盒环境执行。

设计原理

  • 简单易用:请参阅下面的代码片段。

  • 扩展性:易于添加缺少的功能或体系结构。

  • 与旧的编译器兼容,可在许多架构上使用,为了确保 cpu_features 在尽可能多的平台上工作,在一个高度可移植的 C:gnu89 版本中实现了它。

  • 沙盒兼容。库使用各种策略来应对沙盒环境或何时cpuid不可用。。

  • 线程安全,没有内存分配,也没有引发异常。 cpu_features 是适合于基本 libc 函数 mallocmemcpymemcmp实施。

  • 单元测试。

在运行时检查功能

下面是一个简单的例子,如果 CPU 同时支持 AES 和 SSE4.2 指令集,则执行的代码路径:

#include "cpuinfo_x86.h"

static const X86Features features = GetX86Info().features;

void Compute(void) {
  if(features.aes && features.sse4_2) {
    // Run optimized code.
  } else {
    // Run standard code.
  }
}
cpu_features

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 cpu_features 的评论 (全部 0 条评论)
{{repayCom.userName}}
顶部