簡體   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