Rust bindings for libpcuid CPU detection and feature extraction library.
First - download, and build libcpuid as described in the readme. Install it by running make install (you may want to run ldconfig afterwards).
Add to your Cargo.toml:
[dependencies] cpuid = "*"Add extern crate cpuid to your crate root and you're good to go! For example:
extern crate cpuid; fn main () { match cpuid::identify() { Ok(info) => { println!("Found: {} CPU, model: {}", info.vendor, info.codename); println!("The full brand string is: {}", info.brand); println!("Hardware AES support: {}", if info.has_feature(cpuid::CpuFeature::AES) { "yes" } else { "no" }); }, Err(err) => println!("cpuid error: {}", err), }; match cpuid::clock_frequency() { Some(frequency) => println!("CPU speed: {} MHz", frequency), None => println!("Couldn't get CPU speed."), }; }- Zbigniew Siciarz (zbigniew at siciarz dot net)
This work is released under the MIT license. A copy of the license is provided in the LICENSE file.