我之前玩过在Rust中编写库绑定的玩具,这并不困难。但是,现在,我已经陷入困境:我试图为librsync编写绑定,并且它的一些函数希望您传递一个打开的文件句柄(C中的FILE*
)。
对于原始类型,有一种直接的方法可以将它们传递给C,(对于指向原始类型的指针也是如此)。而且,要清楚,我知道libc
crate实现了fopen
,而mut FILE*
又会给我一个FILE*
(最终会完成这项工作)。但是,我想知道Rust标准库中是否有一些内容可以让我librsync
传递给std::ffi::CString
- 可能与 $floor_updates = $this->congress->floor_updates($params);
foreach ($floor_updates as $update) {
if ($update['bill_ids']) {
foreach ($update['bill_ids'] as $bill => $bill_id) {
$billInfo = $this->bill->billSearch(['bill_id' => $bill_id]);
$floor_updates[$update]['bill_ids'][$bill][0] = $billInfo;
}
}
}
类似。