标签
Diplomat 是一个多语言单向 FFI 工具,用于封装 Rust 库,旨在将 Rust API 暴露给 C++、JS、Dart 和 JVM 等语言,而无需 FFI 专业知识,填补了 Rust 工具生态系统中的空白。
Nia Deckers 在 RustWeek 上介绍了一种利用 ptrace 和 SIGSEGV 为 Miri 实现 FFI 执行的新方案,通过 fork 进程、设置内存保护、反汇编指令来确定内存访问细节,并结合互斥锁解决竞态问题。该方法能以“每秒8000个段错误”的代价让 Miri 追踪任意外部函数调用,并意外提供了调试器功能。