Multithreading 相同版本但配置选项不同的两个PERL之间的兼容性?
例如,如果我有两个相同版本Perl的配置Multithreading 相同版本但配置选项不同的两个PERL之间的兼容性?,multithreading,perl,Multithreading,Perl,例如,如果我有两个相同版本Perl的配置 一个用-Dusethreads 一个没有它的 这两个版本能否共享相同的内容?或者我也需要一个单独的包裹。这种方法是否存在已知的XS代码编译异常?基于线程化Perl构建的任何东西都可能与非线程化Perl一起工作吗?假设版本相同。一般来说,XS模块在不同的构建选项之间(以及在不同的perl版本之间)是不兼容的。因为如果没有其他选项,不同的构建选项可能会导致perl核心和编译模块之间的结构大小和对齐方式不同,如果两者都可以访问同一个结构(例如perl标量变
- 一个用
-Dusethreads
- 一个没有它的
这两个版本能否共享相同的内容?或者我也需要一个单独的包裹。这种方法是否存在已知的XS代码编译异常?基于线程化Perl构建的任何东西都可能与非线程化Perl一起工作吗?假设版本相同。一般来说,XS模块在不同的构建选项之间(以及在不同的perl版本之间)是不兼容的。因为如果没有其他选项,不同的构建选项可能会导致perl核心和编译模块之间的结构大小和对齐方式不同,如果两者都可以访问同一个结构(例如perl标量变量),则会导致崩溃。此外,在包括线程构建的多重构建中,大多数perl核心API函数都添加了一个额外的参数(指向当前解释器的指针),在没有该指针的情况下调用该函数或反之亦然,都会再次导致崩溃。听起来,运行CPantests smoker的人最好回答这个问题。他似乎对所有奇怪的事情都感兴趣。你应该和他谈谈,他可能很乐意调查。一般来说,XS模块在不同的构建选项之间是不兼容的。@DaveMitchell如果你回答的话,我会把它标记为接受的。