如何使用?Rust?進(jìn)行嵌入式開(kāi)發(fā)?
Rust 是什么
Rust 是一門(mén)賦予每個(gè)人 構(gòu)建可靠且高效軟件能力的語(yǔ)言。
-
高性能:速度驚人且內(nèi)存利用率極高
-
可靠性:在編譯期就能消除各種內(nèi)存錯(cuò)誤
-
生產(chǎn)力:出色的文檔,友好的編譯器和清晰的錯(cuò)誤提示信息
為什么要用 Rust 進(jìn)行嵌入式開(kāi)發(fā)
Rust 的設(shè)計(jì)理念:既要安全,也要高性能。Rust 的設(shè)計(jì)理念完全是嵌入式開(kāi)發(fā)所需要的。
C 調(diào)用 Rust
在 C 代碼中調(diào)用 Rust 代碼,需要我們將 Rust 源代碼打包為靜態(tài)庫(kù)文件。在 C 代碼編譯時(shí),鏈接進(jìn)去。
創(chuàng)建 lib 庫(kù)
1、在 Clion 中使用 cargo init --lib rust_to_c 建立 lib 庫(kù)。添加以下代碼到 lib.rs 中,使用 Rust 語(yǔ)言計(jì)算兩個(gè)整數(shù)的和:
2use core::panic::PanicInfo;
3
4#[no_mangle]
5pub extern "C" fn sum(a: i32, b: i32) -> i32 {
6 a b
7}
8
9#[panic_handler]
10fn panic(_info: