lemme in to [email protected] • 4 days agoThe US government wants devs to stop using C and C++www.theregister.comexternal-linkmessage-square77fedilinkarrow-up1216arrow-down117
arrow-up1199arrow-down1external-linkThe US government wants devs to stop using C and C++www.theregister.comlemme in to [email protected] • 4 days agomessage-square77fedilink
minus-square@asdfasdfasdflink4•edit-23 days agoWhy not just use the C ABI? And what libraries are you referring to? Almost all the ones I’ve used have fantastic docs.
minus-square@[email protected]linkfedilinkEnglish5•3 days agoIn my understanding, you can’t interface with the C abi without using an unsafe block.
minus-square@calcopirituslink0•2 days agoYou can just use an unsafe block though. Or make a thin wrapper that is just safe functions that inside just have an unsafe block with the C ABI function. Even if rust had a stable ABI, you would still need that unsafe block.
minus-square@[email protected]linkfedilink1•3 days agoI think there are some crates that wrap the unsafe code for you, e.g. https://github.com/rodrimati1992/abi_stable_crates/ (I haven’t ever tried it).
Why not just use the C ABI?
And what libraries are you referring to? Almost all the ones I’ve used have fantastic docs.
In my understanding, you can’t interface with the C abi without using an unsafe block.
You can just use an unsafe block though. Or make a thin wrapper that is just safe functions that inside just have an unsafe block with the C ABI function.
Even if rust had a stable ABI, you would still need that unsafe block.
I think there are some crates that wrap the unsafe code for you, e.g. https://github.com/rodrimati1992/abi_stable_crates/ (I haven’t ever tried it).