Rust'taki kitaplık bağlamaları ile uğraştım ve zor olmadı. Şimdi, ancak takılıyorum: librsync için bir bağ yazmaya çalışıyorum ve bazı işlevleri açık bir dosya tanıtıcısını (C içinde FILE*
) geçirmenizi bekliyor. İlkel tipleri içinRust'ta açık dosya tanıtıcısı bekleyen bir C işlevine nasıl ciltleme yazabilirim?
, C içine geçmesi için basit bir yolu, (ilkel türde işaretçiler için aynı) vardır. Ve açık olmak gerekirse, libc
sandığın fopen
'u uyguladığının farkındayım, bu da bana mut FILE*
(sonunda işi yapacak) veriyor. Ancak, 0121 bana - std::ffi::CString
analog bir şey iletmek için bana verir standart standart kütüphane içinde bir şey olup olmadığını merak ediyordum.
Zaten bildiğiniz caddeyi kullanmak istememenizin sebebi nedir? Bize, herhangi bir cevabın aynı sebepten dolayı otomatik olarak başarısız olmaması için bize söylemelisiniz. – Shepmaster
Rust, Shepmaster ile çoğunlukla yeterlilik eksikliği. Varsa, alternatiflerden habersiz bir çözüm için acele etmek istemiyorum. – dodecaphonic
Burada ne için soruyorsun, bu soruyu çok geniş kılan korkarım ki ben korkuyorum: doğrudan * yanlış FILE 'manipüle etmekten kaçınmak ister misin? ya da ne? –