1 个不稳定版本
0.1.0 | 2022 年 6 月 15 日 |
---|
#15 在 #mathml
160KB
245 代码行
C/C++ 接口 MathCAT
是一个库,支持将 MathML 转换为语音和点字,以及其他功能。
此项目为 MathCAT 添加了 C/C++ 接口。访问MathCAT 项目页面获取更多信息,或者如果你想试用 MathCAT 的功能,尝试演示。
警告:此接口可能会更改。这是我第一次尝试将 C 接口添加到 Rust 代码中。我对当前接口有两个不满意的地方
- 由于字符串需要在两者之间传递,C 代码需要释放 Rust 返回的字符串。这有点丑陋,但这是 C 的内存管理...
- 可能会发生错误,我没有看到处理这个问题的好方法。当前的方法是返回一个空字符串来指示错误。这意味着调用代码应在每次调用后检查此条件。调用 GetError() 来查找错误。
要使用此项目
- 构建项目(
cargo build --release
) - 这将创建一个发布构建在 target/release 中,并在其中创建一个包含
mathcat.h
和 MathCATRules
目录的c-example
目录。 - 尝试在那个目录中编译示例程序
test.c
,或者根据该示例创建自己的程序。有关编译的说明,请参阅该文件中的说明。
或者,为了避免需要 Rust 构建环境
- 从 https://crates.io/crates/mathcat_c 下载 MathCAT for C/C++ crate
- 从这里下载 mathcat.h 和 Rules
依赖项
~15–27MB
~335K SLoC