标签: c design-patterns erlang libusb-1.0
在the tutorial中,对于erl_driver,似乎没有迹象表明第一个ErlDrvPort对象来自何处。假设我想包装libusb-1.0以从erlang中使用它。 ErlDrvEntry描述的API中没有任何地方可用于任何索引方法。如何找到要打开的端口?
ErlDrvPort
ErlDrvEntry
答案 0 :(得分:2)
通常您使用erlang:open_port/2 function获取第一个端口,其使用情况显示在您在问题中链接到的the tutorial的第6.2节中的代码示例中。
erlang:open_port/2
答案 1 :(得分:0)
您也可以使用NIFs,而不是使用Ports来包装C库。使用Nifty,甚至还有一个包装器生成器可以为您完成大部分工作。