Perl编程中的关键函数与操作详解
1. 解释器克隆
在Perl编程里,解释器克隆是一项重要操作。可以使用 perl_clone 函数来创建并返回一个新的解释器,它通过克隆当前解释器实现这一功能。该函数接收以下标志作为参数:
- CLONEf_COPY_STACKS :用于复制栈。若不设置此标志,仅克隆数据并将栈置零;设置后,会复制栈,新的Perl解释器就能在与原解释器相同的点继续运行。伪 fork 代码会使用 COPY_STACKS ,而 threads->create 则不会。
- CLONEf_KEEP_PTR_TABLE : perl_clone 会维护一个 ptr_table ,以旧变量的指针为键,新变量为值。这样能检查某个变量是否已被克隆,避免重复克隆,只需使用已有值并增加引用计数。若未设置此标志, perl_clone 会使用 ptr_table_free(PL_ptr_table); PL_ptr_table = NULL; 来销毁 ptr_table 。保留它的原因是,当你想复制一些Perl扫描图之外的自定义变量时会用到,相关代码示例可在 threads.xs create 中找到。
- CLONEf_CLONE_HOST :这是针对Win32系统的设置,在U
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



