8得票1回答
Perl XS未使用变量 'Perl___notused' 警告

我正在学习如何从Perl调用C++代码,并且首先尝试从Perl脚本创建一个基本的C++对象。 为此,我首先执行了h2xs命令: h2xs -A -nMyClass 然后我向生成的Makefile.PL添加了以下两个参数,以使用g++编译器。 CC => 'g++', LD =&g...

7得票3回答
使用闭包的Perl newXS()函数

我想在C++应用程序中嵌入Perl,并寻找通过newXS()从Perl调用C++的方法。除了函数指针外,我需要将一个自定义指针关联到由newXS()创建的CV。该指针包含一个C++上下文。我不想使用全局变量来实现这一点。是否有常见的方法来解决这个问题? 在更广泛的范围内,问题可能是是否有可能...

15得票1回答
如何使用B::Hooks来操作Perl解析器

我希望尝试一下Perl解析器的操作。看起来各种B::Hooks模块是人们使用的工具。我在想: 对于一个没有XS经验的人来说,最好从哪里入手?有相关的博客文章吗? 创建一个新的运算符需要多少工作量?例如: $a~>one~>two~>three ~> 将像 -&...

13得票2回答
Perl XS 和 Inline::C

使用XS和Inline::C模块有什么区别?某人在此问题中提到了这一点,这让我很好奇。

14得票3回答
我该如何在Perl中使用C++类?

我有一组用C++编写的类。从Perl脚本中调用它们的最佳方法是什么?谢谢。

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

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

8得票1回答
支持将自动创建的文件句柄作为参数传递给Perl XS例程

问题 我如何支持在XS函数中自动生成文件句柄的参数? 我正在XS封装一个返回文件描述符的C函数,并且我想以类似于open()的方式将该文件描述符作为Perl文件句柄参数呈现。例如: myfunc(my $fh) or die "Error: $!"; do_something_with_...

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

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

10得票3回答
在XS中,有没有一种方法可以访问Perl中的特殊标记?

在Perl中,存在像__PACKAGE__、__SUB__、__FILE__和__LINE__这样的特殊标记,并可从脚本中使用。 我可以从XS中获取__PACKAGE__的值,例如HvNAME(PL_currstash),但是如何访问其他的呢? 是否有专门的接口可以从XS中访问它们?比如:...

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

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