我试着阅读各种github问题,试图找出它们之间的区别,结果却弄糊涂了.
#[no_mangle]
pub extern fn foo() {
...
}
与.
#[no_mangle]
pub extern "C" fn foo() {
...
}
我试着阅读各种github问题,试图找出它们之间的区别,结果却弄糊涂了.
#[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.