【问题标题】:Best practice for wrapping C libraries in Erlang在 Erlang 中包装 C 库的最佳实践
【发布时间】:2013-11-10 04:32:03
【问题描述】:

我最近在 Erlang 中启动了一个项目,因为我上次接触了很多年。

我需要使用一些在 stdlib 或 3rd side wrappers 中不可用的 POSIX 调用,例如 sys/mount.h

mount 调用(man 2 mount)使用一些 int 标志作为 mount 参数。 它们在某些标头中定义。

什么方法更好:在 Erlang 包装中使用整数标志/定义,或者使用原子列表作为这样的参数并在 C 中解析它们更安全?

是否有任何用于 Erlang 的活动端口/驱动程序包装器生成器? 我知道 dryverl、ic 等,但它们看起来被遗弃了,而且 用XML写函数描述很不方便。

【问题讨论】:

    标签: erlang


    【解决方案1】:

    我认为更好的方法是在您为程序员提供的 API 函数中使用原子列表,然后在包装器本身中将它们转换为整数标志。然后将它们作为整数传递给 C。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2010-09-16
      • 1970-01-01
      • 2011-08-04
      • 2015-04-12
      相关资源
      最近更新 更多