C 插件系统实战指南:dlopen 没告诉你的四件事

Posted on 一 07 9月 2026 in Tech • Tagged with tech, C, dlopen, plugin, so, abi, dynamic-linking, best-practice

dlopen 只有四个函数,半小时能学完。难的是它没管的四件事——入口点怎么找、插件怎么回调宿主、ABI 怎么不崩、卸载怎么办。这篇把这四个问题的传统答案讲清楚,给一份可编译运行的完整参考实现(357 行),再用 10 个实测的崩溃现场说明常见错误。含 Linux/macOS 差异对照和一份可勾选的 checklist。


Continue reading

struct 到底实现了哪些接口?让 Go 的隐式接口更友好一点

Posted on 五 10 7月 2026 in Tech • Tagged with Go, interface, gopls, golangci-lint, uml, plantuml, mermaid, best-practice, backend

Go 的隐式接口(duck typing)写起来很爽,但代价是"看不见"——一个 struct 到底实现了哪些接口,光看代码根本一眼看不出来。这篇不改语言、不等官方,从编译期断言、gopls 双向跳转、golangci-lint、go generate 到自己写工具生成 UML 类图(附开源项目 gouml),一层层把可发现性补回来,附可跑的例子和一份可落地清单。


Continue reading