加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何将Perl解释器嵌入到C#程序中

发布时间:2020-12-15 21:13:49 所属栏目:大数据 来源:网络整理
导读:我意识到我必须DllImport的perlembed方法 perl_parseperl_allocperl_free 等等., 但不知道如何使用与DLLImport一起使用的函数参数,特别是使用perl_parse方法. 我也意识到,一个related question已经存在,几乎在那里,但仍然通过创建一个C包装器,然后在C#中使用
我意识到我必须DllImport的perlembed方法
perl_parse
perl_alloc
perl_free

等等.,

但不知道如何使用与DLLImport一起使用的函数参数,特别是使用perl_parse方法.

我也意识到,一个related question已经存在,几乎在那里,但仍然通过创建一个C包装器,然后在C#中使用它解决了OP.

他说他不能DLLimport PERL_SYS_INIT3.

所以我的问题是如何正确地包装他们只使用C#并使用它?

解决方法

看这个;我希望它会有所帮助(它被称为早期版本)

我从这里得到这个(perl)

要在C#程序中嵌入Perl解释器,请添加对COM对象“Microsoft Script Control 1.0”的引用,并编写如下代码:

MSScriptControl.ScriptControlClass Interpreter;
Interpreter = new MSScriptControl.ScriptControlClass();
Interpreter.Language = @"PerlScript";
string Program = @"reverse 'abcde'";
string Results = (string)Interpreter.Eval(Program);

以上内容相当于以下Perl脚本,它在Perl解释器中嵌入Perl解释器:

use Win32::OLE;
my $Interpreter;
$Interpreter = Win32::OLE->new('ScriptControl');
$Interpreter->{Language} = 'PerlScript';
my $Program = "reverse 'abcde'";
my $Results = $Interpreter->Eval($Program);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读