libcpuid alternatives and similar libraries
Based on the "Miscellaneous" category.
Alternatively, view libcpuid alternatives based on common mentions on social networks and blogs.
ZXing9.9 4.3 L3 libcpuid VS ZXingZXing ("Zebra Crossing") barcode scanning library for Java, Android
stb9.8 7.8 L2 libcpuid VS stbstb single-file public domain libraries for C/C++
C++ Format9.5 8.8 L1 libcpuid VS C++ FormatA modern formatting library
HTTP Parser8.9 0.0 L1 libcpuid VS HTTP Parserhttp request/response parser for c
RE28.9 9.0 L1 libcpuid VS RE2RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
Cppcheck8.5 9.8 libcpuid VS Cppcheckstatic analysis of C/C++ code
SDS8.1 0.0 L2 libcpuid VS SDSSimple Dynamic Strings library for C
Klib7.9 0.0 L4 libcpuid VS KlibA standalone and lightweight C library
ZBar7.8 0.0 L3 libcpuid VS ZBarClone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
American fuzzy lop7.6 0.0 libcpuid VS American fuzzy lopamerican fuzzy lop - a security-oriented fuzzer
Serial Communication Library7.4 0.0 L1 libcpuid VS Serial Communication LibraryCross-platform, Serial Port library written in C++
pdqsort6.6 0.0 libcpuid VS pdqsortPattern-defeating quicksort.
PHP-CPP6.5 5.6 L4 libcpuid VS PHP-CPPLibrary to build PHP extensions with C++
libssh26.4 5.1 libcpuid VS libssh2the SSH library
Better Enums6.0 0.0 L5 libcpuid VS Better EnumsC++ compile-time enum to string, iteration, in a single header file
c-smart-pointers5.8 0.0 libcpuid VS c-smart-pointersSmart pointers for the (GNU) C programming language
Mach75.7 0.0 L2 libcpuid VS Mach7Functional programming style pattern-matching library for C++
Experimental Boost.DI5.6 0.0 L3 libcpuid VS Experimental Boost.DIDI: C++14 Dependency Injection Library
UNITS5.1 0.0 L3 libcpuid VS UNITSa compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.
stdman5.0 3.8 libcpuid VS stdmanFormatted C++20 stdlib man pages (cppreference)
constexpr-8cc4.6 3.3 L3 libcpuid VS constexpr-8ccCompile-time C Compiler implemented as C++14 constant expressions
SLRE4.5 0.0 L3 libcpuid VS SLRESuper Light Regexp engine for C/C++
Stage4.4 0.0 L1 libcpuid VS StageMobile robot simulator
DynaMix4.3 0.0 libcpuid VS DynaMix:fish_cake: A new take on polymorphism
outcome4.3 5.2 libcpuid VS outcomeProvides very lightweight outcome<T> and result<T> (non-Boost edition)
cxx-prettyprint4.2 0.0 L5 libcpuid VS cxx-prettyprintA header-only library for C++(0x) that allows automagic pretty-printing of any container.
STX3.9 9.2 libcpuid VS STXC++17 & C++ 20 error-handling and utility extensions.
Better String3.9 0.0 L2 libcpuid VS Better StringThe Better String Library
CppVerbalExpressions3.8 0.0 L5 libcpuid VS CppVerbalExpressionsC++ regular expressions made easy
kangaru3.7 2.1 L5 libcpuid VS kangaru🦘 A dependency injection container for C++11, C++14 and later
value-category-cheatsheetA C++14 cheat-sheet on lvalues, rvalues, xvalues, and more
leaf3.4 3.5 libcpuid VS leafLightweight Error Augmentation Framework
casacore3.3 9.3 L1 libcpuid VS casacoreSuite of C++ libraries for radio astronomy data processing
neither3.3 0.0 libcpuid VS neitherEither and Maybe monads for better error-handling in C++ ↔️
libusb3.1 0.0 libcpuid VS libusbAccess USB devices from Ruby via libusb-1.x
gcc-poison3.0 0.0 libcpuid VS gcc-poisongcc-poison
StrTk3.0 0.0 libcpuid VS StrTkC++ String Toolkit Library https://www.partow.net/programming/strtk/index.html
semver.c3.0 0.0 L5 libcpuid VS semver.cSemantic version in ANSI C
ub-canaries2.9 0.0 L4 libcpuid VS ub-canariescollection of C/C++ programs that try to get compilers to exploit undefined behavior
libnih2.7 0.0 L2 libcpuid VS libnihNIH Utility Library
Boost.Signals2.7 0.0 L2 libcpuid VS Boost.SignalsBoost.org signals2 module
sigslot2.5 0.0 L5 libcpuid VS sigslotC++11 signal/slot implementation
QtVerbalExpressions2.4 0.0 L5 libcpuid VS QtVerbalExpressionsThis Qt lib is based off of the C++ VerbalExpressions library. [MIT]
access_profiler2.2 0.0 L5 libcpuid VS access_profilera tool to count accesses to member variables in c++ programs
libsigc++2.1 0.7 L5 libcpuid VS libsigc++A typesafe callback system for standard C++. [LGPL]
strf2.1 0.0 libcpuid VS strfYet another C++ text formatting library.
FastFormat2.1 0.0 libcpuid VS FastFormatThe fastest, most robust C++ formatting library
cppq2.0 10.0 libcpuid VS cppqSimple, reliable & efficient distributed task queue for C++17
libevil1.9 0.0 L4 libcpuid VS libevilThe Evil License Manager
Scintilla1.8 0.0 L1 libcpuid VS ScintillaA free source code editing component. [MIT]
Write Clean C++ Code. Always.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of libcpuid or a related project?
libcpuid provides CPU identification for the x86 (and x86_64). For details about the programming API, you might want to take a look at the project's website on sourceforge (http://libcpuid.sourceforge.net/). There you'd find a short tutorial, as well as the full API reference.
Configuring after checkout
Under Linux, where you download the sources, there's no configure script to run. This is because it isn't a good practice to keep such scripts in a source control system. To create it, you need to run the following commands once, after you checkout the libcpuid sources from github:
1. run "libtoolize" 2. run "autoreconf --install"
You need to have
After that you can run
make - this will build
make dist will create a tarball (with "configure" inside) with the
Using libcpuid requires no dependencies on any of the supported OSes. Building it requires the aforementioned libtool and autotools commands to be available, which is a matter of installing a few common packages with related names (e.g. automake, autoconf, libtool). It also requires a POSIX-compatible shell. On NetBSD, you may need to install one (credits to @brucelilly):
- Install a POSIX-compatible shell such as ksh93 (pkg_add ast-ksh || pkgin in ast-ksh)
- export CONFIG_SHELL=/usr/pkg/bin/ksh93 (substitute the correct path if required)
- Follow the regular Linux instructions
After any change to the detection routines or match tables, it's always
a good idea to run
make test. If some test fails, and you're confident
that the test is wrong and needs fixing, run
You can also add a new test (which is basically a file containing
the raw CPUID data and the expected decoded items) by using
tests/create_test.py. The workflow there is as follows:
- Run "cpuid_tool" with no arguments. It will tell you that it has written a pair of files, raw.txt and report.txt. Ensure that report.txt contains meaningful data.
- Run "tests/create_test.py raw.txt report.txt > «my-cpu».test"
- Use a proper descriptive name for the test (look into tests/amd and tests/intel to get an idea) and copy your test file to an appropriate place within the tests directory hierarchy.
For non-developers, who still want to contribute tests for the project, use this page to report misdetections or new CPUs that libcpuid doesn't handle well yet.
So far, I'm aware of the following projects which utilize libcpuid (listed alphabetically):
- CPU-X (https://github.com/X0rg/CPU-X)
- fre:ac (https://www.freac.org/)
- I-Nex (https://github.com/i-nex/I-Nex)
- Multiprecision Computing Toolbox for MATLAB (https://www.advanpix.com/)
- ucbench (http://anrieff.net/ucbench)
We'd love to hear from you if you are also using libcpuid and want your project listed above.
You can find latest versioned archives here, with binaries for macOS and Windows.
Also, libcpuid is available for following systems in official repositories:
- Debian (since version 11 "Bullseye"):
apt install cpuidtool libcpuid14 libcpuid-dev
- Fedora (since version 25):
dnf install libcpuid libcpuid-devel
- FreeBSD (since version 11):
pkg install libcpuid
- OpenMandriva Lx (since version 4.0 "Nitrogen"):
dnf install libcpuid-tools libcpuid14 libcpuid-devel
- openSUSE Leap (since version 15.1):
zypper install libcpuid-tools libcpuid14 libcpuid-devel
eopkg install libcpuid libcpuid-devel
- Ubuntu (since version 20.04 "Focal Fossa") :
apt install cpuidtool libcpuid14 libcpuid-dev
vcpkg install cpuid