如何在嵌入式 Perl 解释器中动态加载 Perl 扩展?
我正在将 Perl 解释器嵌入到我的 C 代码中(多有趣啊!)。
我需要动态加载 perl 扩展(扩展 perl 的扩展,用 C 编写)。当我运行需要使用该扩展的 perl 脚本(使用我的嵌入式 perl 解释器)时,它将起作用!
I am embeding perl interpreter in my C code (what fun!).
I need to dynamically load perl extensions (an extension that extends perl, written in C). When I run a perl script (using my embeded perl interpreter) that needs to use that extension, it will work!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确保已将
xs_init
函数传递给perl_parse
,该函数将为您提供DynaLoader::boot_DynaLoader
。您可以使用 ExtUtils::Embed 自动编写这些内容。这样,您所需要做的就是,例如,评估一些将加载用 C 编写的扩展的代码。
“在你的 C 程序中使用 Perl 模块,它们本身使用 C 库” 解释了这一点详细。
Make sure to have pass an
xs_init
function toperl_parse
that will provideDynaLoader::boot_DynaLoader
for you. You can write those automatically withExtUtils::Embed
.With that, all you need to do is, for example, eval some code that will load an extension written in C.
"Using Perl modules, which themselves use C libraries, from your C program" in perlembed explains this in detail.