Rust可以做C/C++所有低階工作嗎? - Reddit
有什麼應用或功能是Rust不能做的,而C/C++卻可以?
是否有什麼東西是你不能用Rust程式語言實現的,比如說你能不能和cpu核心的顯示卡音效卡聯絡
與C++相比,Rust有一些東西不支援,個人遇到的兩個是:
- placement new (relevant RFC)
- Fast-math flag (relevant RFC)
也許/可能還有更多,特別是如果你算上那些不穩定的東西。我認為這些特性是很重要的,但是沒有這些特性,你當然可以用Rust構建幾乎所有C++的東西,儘管可能有一些變通。
另一方面,Rust給了你C++不能給你的東西。借款檢查器、不安全的程式碼隔離、對每一個可變引用的限制、更易於使用的構建和依賴性管理,這只是其中幾個重要的例子。
對於那些說Rust可以做所有C++/計算機可以做的事情的人,因為有內聯asm。在我看來,這是個很糟糕的藉口。
當然,有人可以發明一種新的語言並只實現內聯asm。
但是這個人是否會創造出一種與C++功能相當的語言?在我看來,不會。
其他還有:
- 為非常奇特的目標進行編譯。除了缺少編譯器支援,Rust也很難支援uintptr_t和size_t不同的目標,或者不使用8位位元組定址記憶體和奇怪的互斥寬度的目標。另外Rust目標上的浮點支援必須使用IEEE 754 binary32和binary64浮點型別。C和C++支援所有這些。
- 與一些C語言API的介面。Rust不支援位域型別,針對C的位域是相當棘手的,但並非不可能。
- 花哨的編譯選項。尤其是C有一系列Rust不支援的編譯選項,比如fast-math。
- Rust 目前也不支援 16 位浮點,這已成為神經網路的重要效能優化。
相關文章
- C++ class 和 struct 可以相互繼承嗎C++Struct繼承
- Rust引用自定義c/c++庫RustC++
- 低程式碼平臺可以解決軟體開發的所有問題嗎
- Rust是如何用Rust編寫的? - RedditRust
- C++高階功能C++
- 取代不了 C/C++ 的 Rust 如何“逆襲”?C++Rust
- threejs可以做遊戲嗎JS遊戲
- Rust讓我上癮了 - RedditRust
- Rust, Go與Hasekll比較 - RedditRustGo
- Reddit,你在用嗎?
- 學習Linux運維薪資待遇高嗎?可以做什麼工作?Linux運維
- C++進階(雜湊)C++
- C++類內成員變數可以定義引用型別嗎C++變數型別
- 學歷低可以學程式設計嗎程式設計
- Windows 下 c++ 呼叫 Rust 庫的例子WindowsC++Rust
- Rust 如何解決 C++ 的問題?RustC++
- 你真的懂C++嗎?C++
- 低學歷轉Java能找到工作嗎Java
- C++進階(智慧指標)C++指標
- C++初階(stack+queue)C++
- 看看服務網格可以做的所有事情
- Restate:支援JavaScript/Java的Rust低延遲持久工作流RESTJavaScriptRust
- Rust所有權__OwnershipRust
- C++與Rust變數宣告的比較C++Rust變數
- c/c++/java/go/php/python/rust..的本質2C++JavaGoPHPPythonRust
- 學完Python後可以做哪些工作呢?Python
- C++高階程式設計pdfC++程式設計
- java/go/python/go/rust/nodejs/c/c++基礎知識分享JavaGoPythonRustNodeJSC++
- C++與Rust操作裸指標的比較C++Rust指標
- C++與Rust引用外部符號的比較C++Rust符號
- 谷歌Rust生產力高於C++兩倍?谷歌RustC++
- Rust能讓我寫出好的程式碼 - RedditRust
- 香港伺服器可以做網站嗎?伺服器網站
- 高質量C/C++程式設計指南總結(八)—— C++高階特性C++程式設計
- Rust 所有權如何理解Rust
- Rust所有權及引用Rust
- Rust 所有權和借用Rust
- MLOps是過度工程嗎?- Reddit