标签: naming-conventions rust ffi
我目前正在为C库做安全的Rust绑定,它在#define中定义了很多具有UPPER_SNAKE_CASE名称的常量。
#define
UPPER_SNAKE_CASE
对于大多数情况来说它不是问题(Rust使用相同的约定)但实际上,在这个C库中,一些函数使用它们为void*指针赋予类型,所以我在考虑包装它们在包含正确数据的结构中,并将其用作用户的界面。
void*
然而,命名这些结构的首选方法是什么?我应该使用CamelCase名称来匹配Rust约定还是保持接近C库名称并使用上部蛇盒?
答案 0 :(得分:0)
我认为这完全是一种品味问题。我个人将C库包装器拆分为两个层次:
FFI,作为一个单独的模块,甚至是单独的crate,它尽可能接近C库,包括其命名约定和数据类型。在这种情况下,我会保留-> *mut libc::void(example)。
-> *mut libc::void
安全,高级包装器,使用Rust的数据类型和命名约定(example)。