cpu_features 跨平台的C库,用于在运行时检索CPU功能(例如可用指令)。 目录 设计原理 易于使用。 有关示例,请参见下面的代码片段。 可扩展。 易于添加缺少的功能或体系结构。 与旧的编译器兼容并在许多体系结构上可用,因此可以广泛使用。 为了确保cpu_features可以在尽可能多的平台上运行,我们在高度可移植的C:C99版本中实现了它。 沙盒兼容。 该库使用多种策略来应对沙盒环境或cpuid不可用时的情况。 在密封环境中运行集成测试时,这很有用。 线程安全,不分配内存,也不引发异常。 cpu_features适用于实现基本的libc函数,例如malloc , memcpy和memcmp 。 单元测试。 代码样本 注意:对于C ++代码,库函数在CpuFeatures命名空间中定义。 在运行时检查功能 这是一个简单的示例,如果CPU同时支持AES和SSE4.2指令