【问题标题】:Call Perl Library from Objective-C cocoa从 Objective-C 可可调用 Perl 库
【发布时间】:2011-02-05 04:12:58
【问题描述】:

我有一个 Perl 库,用于从文件中读取一些信息(封闭格式)。 这个库读取一个文件并返回一个包含结果的对象数组。

现在我必须将该库(目前无法在可可中实现)集成到可可应用程序中。基本上调用它并尝试在列表中显示结果。

是否有某种桥梁可以从 ObjectiveC 调用 Perl 库并获得结果?

我读过一些关于使用 NSTask 直接调用 perl 脚本并解析结果的内容,但我想知道是否可以直接调用。

最好的问候。

【问题讨论】:

    标签: objective-c cocoa perl xcode


    【解决方案1】:

    你完全正确:NSTask 在 Cocoa(不是 Cocoa-Touch)上是适合你的课程。您可以启动任何子流程,考虑到该子流程将从您的主任务继承环境(但当然您可以应用不同的设置,例如运行目录)。 “system()”的优势在于 NSTask “launch”方法是非阻塞的,因此您可以将它用于长时间的异步作业(并在结束时收到通知)。

    对于 perl 的具体情况,只需在命令行中运行 perl 脚本:“/usr/bin/perl ...”

    最后,您可以尝试使用 PerlObjCBridge(链接:PerlObjCBridge.pm man page)在 Objective-C 对象和 perl 之间进行一种进程间通信。

    【讨论】:

      【解决方案2】:

      如果您想要一座桥,请查看PerlObjCBridge。如果你只是想调用脚本,我相信你可以使用system()。像这样的:

      system( [scriptCallNSString UTF8String] );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 2014-08-03
        • 1970-01-01
        相关资源
        最近更新 更多