Backends
Each backend targets a specific subsystem and platform. You select which backends to compile in at build time.Build
Linux ARM64 (cross-compile)
1
Install prerequisites
Download the ARM GNU Toolchain for your host and set the path:
2
Configure with CMake
3
Build
libQcPerfCore.a (static) or libQcPerfCore.so (shared), and the QcPerfCoreTest executable.CMake presets
Editqcperf/CMakeUserPresets.json to set AARCH64_TOOLCHAIN_PATH and ProjectVersion once, then use the named presets:
linux-aarch64-debug, linux-aarch64-release, linux-aarch64-debug-shared, linux-aarch64-release-shared.
Windows ARM64
API overview
All functions return aQcPerfReturnCode. Include qcperf.h and qcperf_common.h.
Test application
The build producesQcPerfCoreTest, a single-file C program that exercises the complete library lifecycle. It is the canonical usage example.
Running the test application
Examples:
Lifecycle
The test application walks through the full API sequence:1
Initialize
2
Connect to backend
3
Discover capabilities
4
Register data callback
5
Start, collect, stop — for each capability
6
Disconnect and deinitialize
Callback implementations
The message callback receives backend log messages and prints them with a severity prefix, suppressing debug-level output:QcPerfBackendInfo; in basic mode it prints the metric ID and raw value:
The data callback runs on the library’s internal background thread. The test application deep-copies
QcPerfBackendInfo before starting any monitoring session so the callback can safely read metric metadata without holding a lock.
