BSC C++ 示例
源码:examples/cpp/src/bsc_example.cpp
BSC (Block Sorting Compression) 是基于 BWT (Burrows-Wheeler Transform) 的高性能压缩库。本示例演示 libbsc 的基本压缩与解压流程。
构建与运行
BSC 作为可选目标,需要显式启用:
bash
cmake -S examples/cpp -B examples/cpp/build -DAWESOME_COMPRESSION_ENABLE_BSC=ON
cmake --build examples/cpp/build
examples/cpp/build/bsc_example examples/cpp/data/sample.txt实现要点
- 使用
bsc_init()初始化库,启用默认特性(快速模式 + 多线程) - 调用
bsc_compress()执行压缩,输出缓冲区需要n + LIBBSC_HEADER_SIZE字节 - 使用
bsc_block_info()获取压缩块信息以确定解压输出大小 - 调用
bsc_decompress()执行解压
注意事项
libbsc 在某些平台可能构建失败,因此默认禁用。如遇到编译问题,可尝试:
- 检查 CMake 配置输出中的 libbsc 相关警告
- 确认目标平台是否受 libbsc 官方支持