动态库是二进制级别的复用,接口稍不留神就埋下兼容性地雷。

符号与修饰

不同编译器、不同调用约定的名字修饰不同,跨编译器边界最稳的做法是用纯 C 接口包一层。

布局稳定性

标准库类型在不同版本间布局可能变化,接口里暴露它们等于把实现细节焊死在 ABI 上。句柄加纯 C 函数是经典解法。

版本策略

语义化版本加符号版本脚本,让同一台机器上的多版本共存成为可能。