我意识到我必须对perlembed方法进行DllImport
perl_parse
perl_alloc
perl_free
等等,
但是不确定如何在DLLImport
中使用它的所有函数参数,特别是在perl_parse
方法中。
我还意识到已经存在了一个related question,它几乎就在那里,但是仍然可以通过创建一个C包装器并在C#中使用它来解决OP。
他说他无法DLLimport PERL_SYS_INIT3。
所以我的问题是,如何只使用C#正确地包装它们并使用它?
发布于 2012-04-26 03:33:14
看看这个;我希望它会有所帮助(它在早期版本中被称为)
我从这里得到了这个(perl)
要在C#程序中嵌入Perl解释器,请添加对COM对象"Microsoft Script Control1.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);
https://stackoverflow.com/questions/10176058
复制相似问题