embed-c:可將C程式碼直接嵌入到Rust程式碼中
embed-c是一個讓你在 Rust 程式碼檔案中嵌入C 碼的crate。C 程式碼在編譯時使用C2Rust翻譯成Rust程式碼,這意味著它可以與 Rust 完全互操作。C 程式碼可以呼叫 Rust 程式碼,反之亦然。
#![feature(rustc_private)] use embed_c::embed_c; embed_c! { int add(int x, int y) { return x + y; } } fn main() { let x = unsafe { add(1, 2) }; println!("{}", x); } |
D語言採取了不同的方法:AC編譯器是D編譯器二進位制檔案的一部分,稱為 ImportC。它將標準 C11 程式碼編譯成AST,然後交給 D 編譯器。
相關文章
- zdimension/embed-c:厭倦了安全程式設計?將C程式碼直接嵌入到Rust程式碼中程式設計C程式Rust
- extern "C"的用途—在C++程式碼中嵌入C程式碼C++C程式
- 將 Rust 程式碼編譯為 WASMRust編譯ASM
- 基於Matlab Coder將matlab程式碼轉換成c程式碼MatlabC程式
- Vscode外掛:將程式碼連線到IDE中的文件VSCodeIDE
- 整理課程中將程式碼納入Git程式碼版本控制Git
- 使用emscripten實現js直接呼叫C程式碼(emscripten的初探)JSC程式
- Flutter 如何將程式碼顯示到介面上Flutter
- DateUtils(話不多說直接上程式碼)
- apache直接列印php程式碼或直接下載問題ApachePHP
- 使用Git將程式碼上傳至Gitee碼雲中Gitee
- 程式碼質量第 3 層 - 可讀的程式碼
- 程式碼質量第 2 層 - 可重用的程式碼
- 200 行程式碼講透 Rust Futures行程Rust
- 如何組織大型 Rust 程式碼庫Rust
- 提交程式碼到githubGithub
- 網頁中嵌入百度地圖程式碼例項網頁地圖
- 嵌入式程式碼最佳化技巧
- 將30K行Flow程式碼移植到TypeScript - davidgomTypeScriptGo
- 如何將三萬行程式碼從Flow移植到TypeScript?行程TypeScript
- 如何用git將專案程式碼上傳到githubGithub
- C語言簡單程式碼程式C語言
- 解決:如何將Python程式碼打包成exe可執行程式的問題Python行程
- 將 C++程式移植到 Android 平臺C++Android
- Objective-C:寫一份可測試的程式碼Object
- 程式碼可讀性隨想
- 程式碼可讀性心理學
- 命名&可閱讀的程式碼
- java高階用法之:在JNA中將本地方法對映到JAVA程式碼中Java
- [C#] 程式碼規範C#
- C# 呼叫Python程式碼C#Python
- MXFlutter0.2.5支援直接編譯FlutterUI為可執行的JS程式碼Flutter編譯UIJS
- c/c++程式碼流程圖生成C++流程圖
- 痞子衡嵌入式:在IAR開發環境下將盡可能多的程式碼重定向到RAM中執行的方法開發環境
- 將ES6程式碼轉換為ES5程式碼
- [譯]在CUDA C/C++中如何衡量程式碼效能C++
- 嵌入式安卓開發使用LLDB進行斷點除錯C/C++程式碼安卓LLDB斷點除錯C++
- 從 generator 的角度看 Rust 非同步程式碼Rust非同步