我有一个非常大的 Perl 模块,我希望在我的 Visual C++ 项目中调用它。我知道有像perl2exe和pp这样的工具可以将 Perl 模块转换为独立的可执行文件(abc.exe
)。
我不喜欢独立的可执行文件,因为它使界面非常复杂。我必须通过创建一个进程并使用标准输入/输出与它进行通信来调用 Perl 模块。
如果 Perl 模块是 C/C++ 静态库,这将容易得多。只需链接它并调用一个函数!
提前致谢!
我有一个非常大的 Perl 模块,我希望在我的 Visual C++ 项目中调用它。我知道有像perl2exe和pp这样的工具可以将 Perl 模块转换为独立的可执行文件(abc.exe
)。
我不喜欢独立的可执行文件,因为它使界面非常复杂。我必须通过创建一个进程并使用标准输入/输出与它进行通信来调用 Perl 模块。
如果 Perl 模块是 C/C++ 静态库,这将容易得多。只需链接它并调用一个函数!
提前致谢!
您不能(还|容易)编译模块。相反,将 Perl 解释器嵌入为 library。
您确实可以将您的模块静态链接到您的 C 项目中。要意识到的是,您也需要链接perl
。perl
是一个被 Perl 代码大量使用的库(即使 Perl 代码可以编译成机器语言也是如此)。
perlembed文档如何做到这一点。