libcpuid is a small C library for x86 CPU detection and feature extraction.
Using it, you can:
* get the processor vendor, model, brand string, code name
* get information about CPU features such as: number of cores or logical CPUs, cache sizes, CPU clock
* check if the processor implements a specific instruction set such as the SSE2, 3DNow!
* execute the CPUID and RDTSC instructions (portably!)
* and have this all in your commercial application, without getting into trouble.
It works on Windows, Linux and Mac OS X, both 32-bit and 64-bit flavours. Compiler support
includes GCC and Microsoft Visual C++ (and compatible, e.g. Intel C++ compiler).