Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
如何在Perl XS代码中使用伪文件句柄?_Perl_Xs - Fatal编程技术网

如何在Perl XS代码中使用伪文件句柄?

如何在Perl XS代码中使用伪文件句柄?,perl,xs,Perl,Xs,我正在尝试为序列化/反序列化库编写XS粘合代码,该库能够处理任何提供写入(ctx,buffer,count)/读取(ctx,buffer,count)接口的内容。我希望能够使用我得到的伪文件句柄 open $reader, '<', \$in; open $writer, '>', \$out; 它似乎在做我想做的事情,但是这是处理Perl在XS代码中可以考虑文件句柄的正确方法吗? < p>你有你需要的。使用PerlIO*的函数确实可以处理Perl程序中显示为文件句柄的所有内容。谢

我正在尝试为序列化/反序列化库编写XS粘合代码,该库能够处理任何提供
写入(ctx,buffer,count)
/
读取(ctx,buffer,count)
接口的内容。我希望能够使用我得到的伪文件句柄

open $reader, '<', \$in;
open $writer, '>', \$out;

它似乎在做我想做的事情,但是这是处理Perl在XS代码中可以考虑文件句柄的正确方法吗?

< p>你有你需要的。使用
PerlIO*
的函数确实可以处理Perl程序中显示为文件句柄的所有内容。

谢谢。从我现在正在学习的东西来看,我似乎已经接触到了Perl的某些部分,它们将从一些文档更新中受益。。。
void
write_buf (fh, string);
INPUT:
PerlIO* fh;
SV* string;
CODE:
STRLEN length = SvLEN (string);
char* buf = SvPV (string, length);
PerlIO_write (fh, buf, length);