繁体   English   中英

Rust中extern fn和extern“C”fn有什么区别?

[英]What's the difference between extern fn and extern “C” fn in Rust?

我已经尝试阅读各种github问题,试图找出差异是什么,只是最终混淆了。

#[no_mangle]
pub extern fn foo() {
   ...
}

#[no_mangle]
pub extern "C" fn foo() {
   ...
}

没有区别,因为参考文献说:

默认情况下,外部块假定它们调用的库使用特定平台上的标准C ABI。

extern "C" - 这与extern fn foo(); 无论C编译器支持哪种默认值。

创建了一个问题 ,始终要求明确声明extern "C"RFC已被拒绝

fmt-rfcs中存在一个问题: “我们应该格式化extern "C" fn as that还是extern fn ?”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM