作為一種現(xiàn)代系統(tǒng)級(jí)語(yǔ)言,Rust 比 C 或 C++ 更安全也更容易使用,Linux 內(nèi)核主要是用 C 開(kāi)發(fā)的,Rust 被很多人認(rèn)為是 C 和 C++ 的最佳替代,而 Linus Torvalds 等內(nèi)核的核心維護(hù)者對(duì)在內(nèi)核中使用 Rust 持開(kāi)放態(tài)度。
為了用于內(nèi)核開(kāi)發(fā),Rust 只是能生成可鏈接到內(nèi)核的代碼是遠(yuǎn)遠(yuǎn)不夠的,需要找到一種方法讓 Rust 能訪問(wèn)內(nèi)核使用的 API,而內(nèi)核所有的 API 都定義在 C 頭文件內(nèi)。
Rust 支持與 C 代碼的互操作,包括調(diào)用使用 C ABI 的函數(shù)。表面看,Rust 能很好的與現(xiàn)有的 C API 整合起來(lái),但魔鬼在細(xì)節(jié)中。
在最近舉行的虛擬Linux Plumbers Conference會(huì)議上,開(kāi)發(fā)者談?wù)摿藘?nèi)核使用 Rust 開(kāi)發(fā)所面臨的挑戰(zhàn)。
來(lái)源:solidot