Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.86 KB

README.md

File metadata and controls

43 lines (32 loc) · 1.86 KB

pipeline crates.io rustc

blazesym-c

blazesym-c provides C language bindings for the blazesym library.

Please note that this library adheres to Cargo's semantic versioning rules. While it is likely that the ABI is sufficiently flexible to cover incompatible versions, you do so at your own risk.

Build & Use

blazesym-c requires a standard Rust toolchain and can be built using the Cargo project manager (e.g., cargo build).

The build will produce libblazesym_c.a as well as libblazesym_c.so in the respective target folder (e.g., <project-root>/target/debug/).

In your C programs include blazesym.h (provided as part of the crate) from your source code and then link against the static or shared library, respectively. When linking statically, you may also need to link:

-lrt -ldl -lpthread -lm

An example of usage of the C API is in available in libbpf-bootstrap: https://github.com/libbpf/libbpf-bootstrap/blob/master/examples/c/profile.c

This example periodically samples the running process of every processor in a system and prints their stack traces.

A detailed documentation of the C API is available as part of the Rust documentation or can be generated locally from the current repository snapshot using cargo doc.