在上一篇中,我们整体介绍了 cbindgen 工具。本文将会示例如何使用 cbindgen 为我们之前写的 Rust 示例库 生成头文件。主要内容包括:
生成的头文件和之前的对比
为 C API 增加枚举类型,并生成头文件
使用 cbindgen.toml
我们知道可以通过 cbindgen.toml 这个配置文件,给 cbindgen 工具配置各种行为参数来生成头文件。示例库提供了 C API,那我们首先在示例库的根目录下创建一个 cbindgen.toml ,并且试试只配置以下一行内容:
language = "C"
然后执行以下命令:
cbindgen --config cbindgen.toml --crate example_03 --output example_03_header.h
我们可以看到,在根目录下生成了一个 example_03_header.h 的头文件。跟我们之前手动编写的头文件进行对比:
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
多了以上这几行 #include
文件,这是 cbindgen 工具的默认行为,它会默认导入这些 C/C&#