7得票1回答
Perl XS - 无法从方法调用中返回新的自定义C++对象 - 返回标量值

在我的XS文件中,我有: 作为我的新方法: matrix * matrix::new( size_t ncols, size_t nrows ) 这段代码返回一个像样的矩阵对象,可以调用其方法。 接下来是一个方法调用,它会创建一个新的矩阵对象,并将其作为新矩阵返回: matrix ...

7得票2回答
如何手动安装XS模块?

请纠正我如果我错了,XS和Dynaloader基于模块是那些使用C/C++共享对象(.so)且不是PP(纯Perl)的模块? 现在假设我有一台完全没有网络连接的机器(Solaris 10),我想安装例如Crypt::OpenSSL::AES(XS基于模块),将AES.pm文件复制到@INC中...

7得票2回答
C++调用Perl代码 - eval_sv没有将参数传递给脚本

我有一个样例程序,它将参数推送到Perl堆栈,然后调用“eval_sv”。样例perl语句被执行,但我无法检索从C ++传递的变量作为Perl参数。请告诉我在下面的程序中我漏了什么。 程序输出如下: "Hello World" "Test" "100Testing complete" 这...

7得票2回答
为什么这个返回 PerlIO* 的 XS 代码会有内存泄漏问题?

我正在尝试编写一些XS代码,将库的某些部分作为流接口暴露给Perl代码进行编写。下面的get_stream函数应该是一个构造函数,它准备并返回一个PerlIO对象。我认为我只需要Write和Close方法,所以我将所有其他函数槽留空。 typedef struct { struct ...

7得票1回答
从Perl XS代码中,我如何递归调用自己?

我有一个复杂的纯Perl编码函数,我正在将其转换为XS,希望能获得性能提升。 我正在将要转换为XS的函数需要递归调用自身。我可以看到如何使用call_sv [感谢“man perlcall”]来调用纯Perl函数。 但是我该如何从XS内部调用自己(或任何其他XS函数)? (附注:效率非常...