有没有一个工具可以从Rust模块生成C头文件?

有没有一个工具可以从Rust模块生成C头文件?,rust,Rust,如果您编写了一个Rust库,并且希望从C调用它,那么必须用extern C标记所有导出函数,并确保所有函数都使用C ABI。但是,您还必须手工编写一个头文件以包含在您的C代码中,并手动确保它与Rust定义一致,否则会发生不好的事情。这似乎既危险又乏味 有没有一个工具可以从Rust代码生成C头文件?我看到过使用crust中的C进行绑定,这实际上是一个更难的问题 看起来是这样,但我还没有找到任何实现 更新: 正如@HameerAbbasi在下面所指出的,是现在做这件事的首选工具。需要使用它,以便我

如果您编写了一个Rust库,并且希望从C调用它,那么必须用extern C标记所有导出函数,并确保所有函数都使用C ABI。但是,您还必须手工编写一个头文件以包含在您的C代码中,并手动确保它与Rust定义一致,否则会发生不好的事情。这似乎既危险又乏味

有没有一个工具可以从Rust代码生成C头文件?我看到过使用crust中的C进行绑定,这实际上是一个更难的问题

看起来是这样,但我还没有找到任何实现


更新:


正如@HameerAbbasi在下面所指出的,是现在做这件事的首选工具。

需要使用它,以便我可以解决这些问题,但是。

最近的一种方法是,在撰写本文时,它似乎得到了积极的维护。@hcs给出的公认答案指向一个GitHub问题,该问题表示这应该由一个外部工具来解决。

这是由Mozilla提出的: