跳过正文

2025

Rust 工具链、项目布局、程序的编译链接和 Cargo 配置
Rust Cargo
介绍使用 rustup 管理 Rust 工具链,Rust 程序的目录布局,编译链接和 Cargo 配置。
Linux 内核的 llvm 编译和 clangd 支持
Gnu Kernel Clangd
介绍使用 llvm clang 编译器编译 Linux 内核的过程,内核头文件原理和生成 clangd 语言服务器所需的编译命令 JSON 文件的过程。
GCC 交叉编译工具链
·
Gnu Compiler Glibc Gcc
交叉编译是指编译器能生成和它执行环境不同的 CPU 架构的二进制,例如在 arm64 机器上编译出在 x86_64 机器上运行的二进制。 本文分别以常用的 ubuntu aarch64 和 fedora 40 x86_64 编译环境为例,介绍这两个问题的解决方案。
使用 musl 交叉编译和静态链接
·
Cgo Go Compile Gcc Musl
本文介绍了使用轻量化 libc 库 musl 进行交叉编译生成多架构二进制的方案,最终实现在 x86_64 编译机器上能同时构建出静态链接的 x86_64 和 aarch64 二进制的目标,大大简化了多套构建脚本的开发和维护成本。
Go CGO 程序静态编译链接
·
Cgo Go Compile Gcc
使用 linux bpftrace 进行内核和应用性能分析
Bpftrace Kernel Ebpf Performance Tool
介绍 bpftrace 工具的使用方式、局限性和问题。
使用 linux perf 进行内核和应用性能分析
Perf Kernel Performance Tool
介绍 perf 工具的使用方式、局限性和问题。