5
我试过阅读各种github问题,试图找出差异是什么,只是结束了困惑。Rust中的extern fn和extern“C”fn有什么区别?
#[no_mangle]
pub extern fn foo() {
...
}
与
#[no_mangle]
pub extern "C" fn foo() {
...
}
我试过阅读各种github问题,试图找出差异是什么,只是结束了困惑。Rust中的extern fn和extern“C”fn有什么区别?
#[no_mangle]
pub extern fn foo() {
...
}
与
#[no_mangle]
pub extern "C" fn foo() {
...
}
没有区别,因为正如the reference说:
默认情况下,外部块假设他们调用的库使用标准的C ABI的特定的平台。
extern "C"
- 无论您的C编译器支持哪种默认值,这与extern fn foo();
相同。
的issue被创造总是需要明确说明extern "C"
但RFC has been refused。