Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 相同版本但配置选项不同的两个PERL之间的兼容性?_Multithreading_Perl - Fatal编程技术网

Multithreading 相同版本但配置选项不同的两个PERL之间的兼容性?

Multithreading 相同版本但配置选项不同的两个PERL之间的兼容性?,multithreading,perl,Multithreading,Perl,例如,如果我有两个相同版本Perl的配置 一个用-Dusethreads 一个没有它的 这两个版本能否共享相同的内容?或者我也需要一个单独的包裹。这种方法是否存在已知的XS代码编译异常?基于线程化Perl构建的任何东西都可能与非线程化Perl一起工作吗?假设版本相同。一般来说,XS模块在不同的构建选项之间(以及在不同的perl版本之间)是不兼容的。因为如果没有其他选项,不同的构建选项可能会导致perl核心和编译模块之间的结构大小和对齐方式不同,如果两者都可以访问同一个结构(例如perl标量变

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

  • 一个用
    -Dusethreads
  • 一个没有它的

这两个版本能否共享相同的内容?或者我也需要一个单独的包裹。这种方法是否存在已知的XS代码编译异常?基于线程化Perl构建的任何东西都可能与非线程化Perl一起工作吗?假设版本相同。

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

听起来,运行CPantests smoker的人最好回答这个问题。他似乎对所有奇怪的事情都感兴趣。你应该和他谈谈,他可能很乐意调查。一般来说,XS模块在不同的构建选项之间是不兼容的。@DaveMitchell如果你回答的话,我会把它标记为接受的。