Skip to content

Releases: OctoBanon-Main/zigzag-alloc

v1.0.3

21 Apr 23:23
d66768b

Choose a tag to compare

ZigZag v1.0.3 - C-FFI Binary Release

This release provides the compiled C-compatible libraries and headers for the ZigZag project. It allows you to use high-performance Rust allocators and SIMD-accelerated collections directly in C/C++ projects without requiring a Rust toolchain.

Included Artifacts

Windows (x86_64-pc-windows-msvc)

  • zigzag_alloc.h: C header file with all function prototypes and structs.
  • zigzag_alloc.dll: Dynamic link library.
  • zigzag_alloc.dll.lib: Import library for MSVC linker.

Linux (x86_64-unknown-linux-gnu)

  • zigzag_alloc.h: C header file.
  • libzigzag_alloc.so: Shared object library.
  • libzigzag_alloc.a: Static library for standalone binaries.

Quick Start (C Integration)

Include the header:

#include "zigzag_alloc.h"

Initialize an allocator:

zigzag_system_t* sys = zigzag_system_create();
zigzag_alloc_t alloc = zigzag_system_as_alloc(sys);

Use a collection:

// Create a SIMD-accelerated HashMap
zigzag_hashmap_t* map = zigzag_hashmap_create(alloc, my_hash_fn, my_eq_fn); 

Linking

  • Linux: Link with -L. -lzigzag_alloc.
  • Windows: Add zigzag_alloc.dll.lib to your linker input and ensure zigzag_alloc.dll is in your executable's path.