16

我意识到我必须DllImport使用永久方法

perl_parse
perl_alloc
perl_free

ETC。,

但不确定如何将函数参数与方法一起使用,DLLImport尤其是与perl_parse方法一起使用。

我也意识到已经存在一个相关的问题,它几乎就在那里,但 OP 仍然通过创建一个 C 包装器然后在 C# 中使用它来解决。

他说他无法 DLLimport PERL_SYS_INIT3。

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

4

1 回答 1

2

看这个; 我希望它会有所帮助(它在早期版本中被调用)

我从这里得到这个(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);
于 2012-04-25T19:33:13.720 回答