#ffi #bindings #low-level #lab #streaming #lsl #liblsl

sys lsl-sys

对系统库lsl的底层绑定(实验室流层)

2个版本

0.1.1 2020年10月26日
0.1.0 2020年10月23日

#20 in #lab


lsl中使用

MIT 许可证

2.5MB
31K SLoC

C++ 26K SLoC // 0.1% comments Visual Studio Project 3.5K SLoC Rust 1.5K SLoC // 0.0% comments Visual Studio Solution 271 SLoC C 154 SLoC // 0.2% comments Shell 32 SLoC // 0.3% comments Python 28 SLoC // 0.2% comments Batch 26 SLoC Forge Config 22 SLoC Perl 21 SLoC // 0.4% comments

lsl-sys

这是对liblsl库的低级自动生成的绑定。你可能不想直接使用这个库;相反,查看更高层次的lsl crate。

获取源代码

git clone --recurse-submodules https://github.com/labstreaminglayer/liblsl-rust

编译

有关构建说明,请参阅liblsl-rust仓库中的文档。

重新生成C FFI绑定

只有当你想更新自动生成的头文件绑定(例如,从更新的liblsl版本中引入新的声明)时,才需要运行此操作。

为此,你需要bindgen工具,你可以从这里获得这里描述的。

然后,运行以下命令以重新生成绑定

cd lsl-sys

# (prefix with liblsl license text)
echo "/* $(cat liblsl/LICENSE) */" > src/generated.rs

# (append bindings to file)
bindgen liblsl/include/lsl_c.h \
    --whitelist-function "^lsl_.*" \
    --whitelist-var "^lsl_.*" \
    --whitelist-type "^lsl_.*" \
    >> src/generated.rs

贡献

除非你明确声明,否则任何有意提交以包含在lsl-sys crate中的贡献,均应按照MIT许可证授权,不附加任何额外条款或条件。

依赖项