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。