FIDL的C和C++语言库


英文原文快照


该库为FIDL提供C语言绑定的运行时。 其中主要包括消息编码和解码功能的定义,并还包括FIDL的数据类型的定义,例如向量和字符串等。

依赖

该库仅依赖于C标准库和Zircon内核的公开API。 特别地,该库不依赖于C++标准库,以及libfbl.a和libzx.a。

该库中的某些目标文件的生成需要new运算符的实现。 虽然这些实现通常由C++标准库提供,但它们也可以由其他库(例如,libzxcpp)提供。

习惯

为了避免使用C++标准库,该库使用了一些不寻常的习惯:

std::move

不是使用std::move为类型T创建右值引用,而是使用static_cast<T&&>static_cast<T&&>是用于创建右值引用的语言级(而非库级)构造。