19个版本
使用旧的Rust 2015
0.9.8 | 2020年5月13日 |
---|---|
0.9.7 | 2019年10月21日 |
0.9.5 | 2019年9月16日 |
0.9.1 | 2018年11月16日 |
0.6.0 | 2017年2月27日 |
1085 in 编码
每月下载量7,297
53KB
518 行
encoding_c
encoding_c是encoding_rs的FFI包装器。
为encoding_rs::mem
提供绑定
有关对encoding_rs::mem
的绑定,请参阅encoding_c_mem
包。
许可
请参阅名为COPYRIGHT的文件。
不支持异常恢复!
该包旨在用于使用panic = 'abort'
编译的二进制文件,这是必需的!在FFI之间进行异常恢复是未定义行为,且此包不会尝试防止在启用异常恢复的情况下编译时进行异常恢复。
C/C++头文件
需要include/encoding_rs.h
和include/encoding_rs_statics.h
用于C语言使用。
include/encoding_rs_cpp.h
是基于C API、使用GSL和C++标准库构建的示例C++ API。由于C++项目通常使用自己的字符串类等,因此C++项目可能需要手动将头文件适配到它们的标准库类型替换。
有关C++包装器的说明。
发行说明
0.9.8
- 从版权声明中删除年份。
0.9.7
- 在Cargo清单中指定一个
links
值。 - 从构建脚本中生成一个
include_dir
变量,以便依赖此包的其他构建脚本可以依赖于它。
0.9.6
- 修复C++头文件中的错误。
0.9.5
- 调整编码_rs 0.8.20的文档。
0.9.4
- 修复虚假的C头文件。
0.9.3
- 修复虚假的C++头文件。
0.9.2
- 包装
Decoder::latin1_byte_compatible_up_to
。
0.9.1
- 包装
Encoding::is_single_byte()
。 - 通过编码_rs 0.8.11 中引入的新功能标志。
0.9.0
- 更新到 encoding_rs 0.8.0。
0.8.0
- 更新到 encoding_rs 0.7.0。
- 删除
encoding_for_name()
。 - 正确处理返回
nullptr
的data()
方法gsl::span
。
0.7.6
- 将
ENCODING_RS_NON_NULL_CONST_ENCODING_PTR
重命名为ENCODING_RS_NOT_NULL_CONST_ENCODING_PTR
。 (这不是一个破坏性的变更,因为之前定义该宏会破坏构建,所以该宏无法使用。) - 仅对静态使用宏,而不是对返回值。
0.7.5
- 将需要用相同表示的非空类型包裹的编码指针注释为
ENCODING_RS_NON_NULL_CONST_ENCODING_PTR
。
0.7.4
- 包裹
has_pending_state()
。
0.7.3
- 使用 C 预处理器定义进行编码常量声明。
0.7.2
- 将 C 预处理器定义背后的结构类型名称参数化。
- 由用户提供
char16_t
。避免包含其头文件。
0.7.1
- 修复在
std::slice::from_raw_parts()
中使用的指针的文档。
0.7.0
- 在最大长度计算函数中将
None
映射到SIZE_MAX
。
0.6.0
- 在
cheddar
生成的头文件中检查,并在cheddar
使用的build.rs
中注释。
0.5.0
- encoding_c 的首次发布。(即第一个具有独立存储库的 FFI 的发布。)
依赖关系
~3MB
~118K SLoC