- 博客(5)
- 收藏
- 关注
原创 Rust FFI 深度实践:cxx 库与 C+ 的安全桥接
unsafe(部分 1: FFI 桥)mod ffi {// 1. Rust 侧定义,暴露给 C++// 定义一个 Rust 函数供 C++ 调用}}// 2. C++ 侧定义,暴露给 Rustinclude!// 包含 C++ 头文件// 声明 C++ 类型// 声明 C++ 函数 (工厂)// 声明 CppEngine 的方法// &self 对应 C++ 的 this 指针unsafeFFI 的危险:C++ FFI 必须手动处理类布局、异常和所有权,极错。cxx。
2025-10-30 21:21:52
389
1
原创 Rust const 泛型与类型级编程:编译时计算的威力
目录📝 文章摘要一、背景介绍1.1 const 泛型之前的困境1.2 const 泛型的核心价值二、原理详解2.1 const 泛型的的类型签名2.2 where 子句与 const 表达式三、代码实战:编译时维度安全的矩阵3.1 步骤 1:定义 Matrix 结构构体3.2 步骤 2:实现 Add (维度必须相同)3.3 步骤 3:实现 Mul (维度必须匹配)3.4 步骤 4:编译时检查四、结果分析4.1 运行时 vs 编译时4.2 零成本抽象5.1 核心要点5.2 讨论问题参考链接 泛型(Const
2025-10-30 21:16:40
632
原创 Rust 编译器内部探秘:从 HIR/MIR 到 LLVM IR
Rust 编译慢是开发者幸福感的主要障碍。与 C (Clang) 或 Go (gc) 相比,rustc做了多得多复杂的类型:Trait 解析、泛型单态化(Monomorphization)。借用检查:复杂的静态分析,保证内存安全。LLVM 后端:LLVM 负责生成高度优化的代码,但优化本身非常耗时。`rustc 牺牲了编译速度,换取了运行时的极致性能和内存安全。AST 是源代码的直接、字面表示。// 源代码// AST (简化)Block特点:保留所有语法细节(如括号、pub。
2025-10-30 21:13:35
1043
原创 Rust 动态加载与插件系统:libloading 实战与安全边界
插件架构:允许第三方开发者扩展你的应用(如 VS Code 插件、OBS 滤镜)。热重载:在应用不停止运行的情况下,更新其部分逻辑(如游戏开发、服务器)。减少初始体积:按需加载不常用的功能。**许可**:将闭源或不同许可(如 GPL)的代码作为插件加载。libloading:是 Rust 中执行dlopen的标准库。unsafe边界:动态加载是unsafe的,因为编译器无法验证类型、生命周期和 ABI。稳定 ABI:必须使用extern "C"和 C 兼容的类型(原始指针、repr(C)
2025-10-30 21:08:18
1190
原创 Rust 跨平台 GUI 开发:`tauri` 框架与 Web 技术的融合合
Tauri 是一个使用 Rust 构建跨平台桌面应用的新一代框架。它巧妙地结合了 Rust 的高性能后端和eb 前端技术(HTML/CSS/JS),替代了 Electron 的 Node.js 运行时,提供了体积更小、内存占用更低、安全性更高的桌面应用。本文将深入探讨 Tauri v2 的架构、其 Rust 后端与 JavaScript 前端的通信机制(Events、Commands),以及如何打包跨平台(Windows, macOS, Linux)的单一二进制应用。
2025-10-30 20:51:03
915
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅