如何在 Perl 中使用 SWIG?

Posted

技术标签:

【中文标题】如何在 Perl 中使用 SWIG?【英文标题】:How do I use SWIG in Perl? 【发布时间】:2010-09-10 05:13:38 【问题描述】:

我对 SWIG 接口以及如何将其与 C 和 Perl 一起使用是全新的。

如果有人解释如何使用 PerlCSWIG,这对我会有很大帮助。

【问题讨论】:

您在一条评论中说您不确定哪种方法是最好的。如果您告诉我们您正在尝试做什么(而不是您尝试解决问题的方式),我们可能会推荐最佳方法。 参见 swig.org/papers/Perl98/swigperl.htm - 使用 SWIG 构建 Perl 扩展。 查看search.cpan.org/perldoc?ExtUtils::XSpp 了解 SWIG 的替代方案。警告:我是合著者。 【参考方案1】:

也许这些对你有帮助:

Using SWIG to interface scripting languages with C/C++

Using SWIG, a simple example for perl

【讨论】:

你能给我一个使用 SWIG 的 Perl 和 C 的链接吗?请 @Senthil:上面的链接有例子。【参考方案2】:

你为什么不看看Inline::C?它具有 SWIG 的所有功能,但使用它更容易启动和运行。

【讨论】:

好吧,其实我不知道哪个是最好的方法。让我看看每一种可能性。如果 Inline::C 工作正常,那么我会坚持下去 等等。在部署方面,Inline::C 是魔鬼。这不是不可能,但它很不方便。如果你写的是在开发机器以外的机器上运行,我建议你远离它。 Inline::C 的缺点是运行代码的机器必须有 C 编译器。我也遇到了Inline::C 缓存损坏的问题(当多个程序尝试使用同时使用Inline::C 的模块并且缓存还不存在时,就会发生这种情况)。我发现Inline::C 非常适合原型设计,但 XS 更适合生产。

以上是关于如何在 Perl 中使用 SWIG?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 swig 将 const 字符串参数从 perl 传递到 c++

swig c++ to perl : 如何使用 c++11 字符串 STL 函数

在 perl 中调试由 SWIG 包装的共享库

如何在 swig 接口文件中集成可以抛出 MyException 的 C++ 函数

swig:让 c++ 对象在 perl 中可打印?

SWIG typedef - Perl 数组