相同版本但具有不同配置选项的两个 perls 之间的兼容性?

Compatibility between two perls of the same version but with different config options?

例如,如果我有两个相同版本的 Perl 配置,

这两个版本能否共享同一个 corelist modules?或者我也需要一个单独的包裹吗?这种方法是否存在已知的 XS 代码编译异常?是否有可能针对线程 Perl 构建的任何东西都可以与非线程 Perl 一起使用?假设版本相同。

一般来说,XS 模块在不同的构建选项之间(以及不同的 perl 版本之间)不是二进制兼容的。因为如果没有别的,不同的构建选项可能会导致结构的大小和对齐方式在 perl 核心和编译模块之间发生变化,如果两者都可以访问相同的结构(例如 perl 标量变量),这将导致崩溃。同样在 MULTIPLICITY 构建中,包括线程构建,大多数 perl 核心 API 函数都添加了一个额外的参数(指向当前解释器的指针),并且在没有该指针的情况下调用该函数或反之亦然将再次导致崩溃。