The Talk

探索未知,记录生活

探索分享未知的知识,记录快乐的每一天

Erlang集群的唯一标识管理

Erlang集群的唯一标识管理

Erlang是一个非常强大的分布式平台,其中一大特点就是可以为集群中任意一个进程添加全 集群唯一标识。本文通过分析Erlang/OTP的代码,来介绍Erlang是如何完成全集群唯一名标 管理。也就是常说的进程名字管理。

david david
LLVM基础设施和Rust

LLVM基础设施和Rust

全面介绍 LLVM 编译器基础设施与 Rust 的协作原理。LLVM 是模块化的编译器工具链,采用前端-优化-后端三阶段架构。核心的 LLVM IR 使用静态单赋值形式和无限虚拟寄存器实现高效优化。Rust 编译器选择 LLVM 作为后端,可减少实现负担、获得成熟的优化能力并支持跨平台编译。本文通过 square 和 factorial 函数示例,直观展示源码到 IR 的转换过程

david david

GCC为什么需要编译两次才能完成自举

深入解析 GCC 编译器自举原理。编译器自举是指用自身语言编写编译器,解决"先有鸡还是先有蛋"的经典问题。GCC 需要两次编译的核心原因在于 glibc、libgcc 与 libstdc++ 之间的循环依赖:第一次编译产生功能不完整的交叉编译器,第二次编译才能链接 完整的 glibc 构建出完整的标准库。本文通过 LFS 实践详解三阶段编译流程。

david david

Erlang 是如何释放NIF的资源

深入解析 Erlang NIF 资源释放机制。通过 Lua 插件开发实践,详解如何使用 enif_alloc_resource 分配资源、enif_make_resource 与 enif_release_resource 实现引用计数管理,确保进程崩溃时自动释放 NIF 绑定的 C 资源。对比 Port 方案,NIF 是 Erlang 调用 C 代码最高效的方式,本文帮助开发者掌握其内存安全的核心原理。

david david