#1 - 2020-1-22 13:20
snylonue (表达能力极差)
找了几个都不太好用:
    libcue.rs: 不会编译(用cmake可以手动编译c库,但是用cargo的时候会报错)
    cue_sheet: 不能正确识别注释
    rcue: 不能正确处理缩进和多个空格](edit: 这个其实是规范里定义的)

其实我想静态绑定libcue,但是翻了几个文档(cc, cmake, 一些rust教程)都没什么头绪

后来自己写了一个,也很难用,性能应该比后面两个高
#2 - 2020-1-22 13:23
(AE@Recording)
虽然不太懂这语言,但我感觉自己撸一个更快
#3 - 2020-1-22 14:03
(Q, Σ, Γ, δ, q0, Z0, F)
自己改 ?
#3-1 - 2020-1-22 14:25
snylonue
读代码能力不行,函数长一点就看不懂了
#3-2 - 2020-1-22 19:17
fantasy
snylonue 说: 读代码能力不行,函数长一点就看不懂了
函数长其实是代码写得不好。
#4 - 2020-1-22 15:49
看起来 1 的问题是可以解决的
#5 - 2020-1-22 16:05
(飞得高,飞得低,学习再学习,多少大秘密 ... ... ... ... . ...)
我觉得你 libcue + FFI 吧,可以生成 bindings, 然后在 build.rs 里面写好用 cc 编译和链接的逻辑。官方有 zip 的示例。
#5-1 - 2020-1-22 21:00
snylonue
嗯,但是有cmakelists的项目好像不能用cc,明天再试下cmake
#5-2 - 2020-1-22 22:51
mwish
snylonue 说: 嗯,但是有cmakelists的项目好像不能用cc,明天再试下cmake
他是希望能够拿到接口(这个很容易生成),然后 cc 编译完之后,你需要在 build.rs 里面把编译后的库链接到你的程序里,然后使用生成的 bindings.
#6 - 2020-1-22 20:26
(​​​​)
1. 依据常识来看,libcue.rs这种仅仅在Rust中声明了C接口的库是很难写错的。
2. 你可以成功编译对应的C库。

1 & 2 => 目测你编译完C库之后没有make install,或是安装到了一个不在环境变量的位置。
#6-1 - 2020-1-22 20:59
snylonue
是这样的,明天我再试一下
#7 - 2020-1-22 23:13