5
我以前玩過在Rust中編寫庫綁定,並不難。然而,現在我被卡住了:我試圖爲librsync寫一個綁定,並且它的某些函數希望你傳遞一個打開的文件句柄(C中的FILE*
)。如何寫一個需要在Rust中打開文件句柄的C函數的綁定?
對於原始類型,有一種直接的方法可以將它們傳遞到C中(指向原始類型的指針也是一樣)。而且,爲了清楚起見,我知道libc
箱子實現了fopen
,這反過來又給了我一個mut FILE*
(它最終會完成這項工作)。然而,我想知道Rust標準庫中是否有某些東西可以讓FILE*
傳遞給--也許類似於std::ffi::CString
。
你不想使用你已經知道的道路的原因是什麼?你必須告訴我們,以便任何答案不會由於同樣的原因而自動失敗。 – Shepmaster
對Rust,Shepmaster大多缺乏熟練度。如果有的話,我不想急於找到一種解決方案,不知道替代方案。 – dodecaphonic
目前還不清楚你在這裏要求什麼,這反過來又使問題過於寬泛:我想避免直接操縱'* mut FILE'嗎?或者是什麼? –