Rust Miri 完全指南:如何使用和用好 Miri 前言 在 Rust 的世界里,虽然编译器已经帮我们解决了大部分内存安全问题,但当你开始编写 unsafe 代码时,就进入了一个编译器无法完全保护你的领域。这时候,Miri 就成为了你最重要的安全网。 正如一位开发者在 Rust 重写项目中所说:"如果你在编写 unsafe 代码时没有使用 Miri 2025-11-17 rust #rust#miri#debug#leak#UB
Android JNI 性能优化深度解析:@FastNative 与 @CriticalNative 在 Android 开发中,JNI (Java Native Interface) 是连接 Java/Kotlin 层和 C/C++ 原生代码的桥梁。然而,JNI 调用的性能开销一直是开发者关注的痛点。本文将深入剖析 Android 8.0 引入的 @FastNative 和 @CriticalNa 2025-10-31 android #dvm#dalvik#jit#android#jni
Android Gradle 中的 解决@Incubating 警告:externalNativeBuild 标记为不稳定的API 在使用 Kotlin DSL 编写 Android Gradle 构建脚本时,遇到一个这样的黄色警告: 'externalNativeBuild(kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.ExternalNati 2025-10-29 android #android#gradle#jvm
Linux - 安卓内核模拟触摸笔记 首先得学学多点触摸协议! static irqreturn_t zet6223_irq(int irq, void *dev_id) { struct zet6223_ts *ts = dev_id; u16 finger_bits; /* * First 3 bytes are an 2025-08-24 linux #touch#linux#kernel-module#kernel
BPF - 使用Rust为安卓arm64构建BPF {"output":{"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":"```\n本文介绍了如何使用 Rust 的 aya 框架为 Android ARM64 平台开发 eBPF 程序,涵盖环境准备、工具链安装、目标平台配置及构建流程。\n- **核心步骤**:安装 Rust 工具链、nightl 2025-08-24 android #bpf#ebpf#android#rust#aya#linux#kernel
Rust 的函数指针比较:fn_addr_eq 第一次看到 Rust 标准库中的 ptr::fn_addr_eq 函数,第一反应是:这不就是 == 的别名吗?为什么要专门为函数指针比较创建一个新函数? 表面上的等价性 从功能角度看,fn_addr_eq(f, g) 确实等同于 f == g: use std::ptr; 2025-08-07 rust #rust#ptr#fn_ptr#fn_addr_eq
LLVM - 开发属于自己的llvm plugin(1) 开始 这里使用的语言是Rust! LLVM 插件仅仅是一个 dylib,LLVM 工具(例如opt、lld )加载它时会为其提供PassBuilder。因此,你必须在你的Cargo.toml 添加下面这行: [lib] crate-type = ["cdylib"] PassBuilder允许注册 2025-08-02 llvm #llvm#llvm#ollvm#llvm-plugin#clang#rust