【问题标题】:Erlang: Interfacing with Xalan: port driver or nif?Erlang:与 Xalan 接口:端口驱动程序还是 nif?
【发布时间】:2011-02-24 00:14:49
【问题描述】:

我想要一个真正的 XSLT 处理器与 erlang 一起工作。哪个是最好的接口、nif 或端口驱动程序?根据 nif 文档,nif 调用会阻塞运行时,因此它们不会花费很长时间。处理长 xml 文档是否太长?

另外,我想在转换期间允许 erlang 回调。这似乎可能吗?可以使用 nif 但不能使用端口驱动程序,反之亦然?

我从来没有写过任何 C,所以我认为这是一个很好的介绍。 Xalan 是 C++。我认为 nif 可以使用它,对吧?

【问题讨论】:

    标签: erlang erlang-ports erlang-nif


    【解决方案1】:

    我建议构建一个端口驱动程序。

    NIF 工具是一种向语言添加新内置函数的方法 并加速那些在纯 Erlang 中实现起来太慢的事情。 无论如何,NIF 都被认为是实验性的,因此接口可能 在未来的版本中彻底改变。

    编写端口驱动程序意味着实现 一个 C(或 C++)共享库,其行为类似于整个 erlang 进程。 这允许更大的灵活性,因为您可以与 转换文档时的其他进程(回调...)等。

    它甚至不必是驱动程序。如果你没有通过很多 你的端口程序和其他 Erlang 代码之间的数据,你可能 考虑改用普通端口(更容易)。

    【讨论】:

    • 我认为普通端口可能是最好的主意,当然考虑到我对 C 的缺乏经验。让任何工作都正常工作是我的首要考虑。
    • 我建议从 erl_interface 用户指南开始
    猜你喜欢
    • 2011-04-12
    • 2012-03-05
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多