1 个不稳定版本

0.1.0 2020年9月17日

#18 in #variadic


drogue-tls-sys 中使用

Apache-2.0 协议

18KB
441 行代码(不包括注释)

drogue-ffi-compat

一个小型实用库,包括 C 兼容代码,简化在非 libc 平台(如 Cortex-M)上的 FFI 集成。

变长参数

通过一个 VaList 结构提供对 C 风格变长参数函数的支持,它知道如何像 C 一样操作内存,以便剥离变长参数列表。它不支持直接实现变长参数函数。为了与真正的变长参数函数一起使用,需要一个真正的 C 兼容层来构造 va_list,使用常规的 va_start(...)va_end(...) 宏。

*printf(...)

此crate导出两个与printf兼容的函数

  • snprintf(),由真正的 C 实现
  • vsnprintf(),由 Rust 实现。

此外,还略微支持一组 C 风格的 printf 格式说明符。

  • '%c'
  • '%s'
  • '%d'
  • '%x' 和 '%X'

宽度修饰符和精度修饰符被消耗,但当前不尊重。目标是支持这些函数足够好,以供简单集成使用。

依赖项

~0.7–1MB
~19K SLoC