解决方法
我不是特别喜欢SWIG,而是喜欢自己编写界面代码. Perl附带一种称为“XS”的伪语言,用于连接到C或C.不幸的是,为了使用它,您至少需要知道C,Perl,然后再学习一下解释器API.如果你已经熟悉Perl和C,这不是一个很大的一步.看看XS上的以下核心文档:
> perlxstut(XS教程)
> perlxs(XS参考)
> perlapi(口译API)
此外,互联网上有很多教程和操作方法.
现在,使用XS连接到C需要一些额外的步骤.一开始可能有点沮丧,但一旦得到它就整齐地落到位.在这方面,核心文件最多是稀少的.但一切都不会丢失. Perl的wxWidgets绑定的创建者Mattia Barbon写了一个很好的工具“XS”,使得这几乎变得简单(或像XS一样简单).它包含在Wx中,但是我们正在将其分解成自己的分发.这是正在进行中.你可以在github上找到Mattia’s XS++ code和modified version of mine.
除了将单独的XS发布给CPAN,我建议学习从其他资源中为C写入XS:
>很久以前,John Keizer写了一个很好的tutorial on XS and C++.它还包括进一步的指向有用的工具和文档的指针.
>我从该教程中学到了XS&C,并在CPAN上发现了一些例子.我不记得我当时看了什么但现在我可以指出自己的工作是(好或坏,我不知道)例:Math::SymbolicX::FastEvaluator.
>类似地,计划的XS分发包含使用XS来连接C和Perl的complete (albeit pointless) example.由于XS被翻译成纯XS,您可以使用它来生成示例.
PS:还有Inline :: CPP模块.如果这样做,这可能是最简单的解决方案.我怀疑它可以处理模板,但是.