erl_driver 中列出和检查端口的正确位置是什么

What is the correct place to list and examine ports in erl_driver

the tutorial for erl_driver 中似乎没有迹象表明第一个 ErlDrvPort 对象来自哪里。假设我想包装 libusb-1.0 以从 erlang 使用它。 ErlDrvEntry 描述的 API 中没有任何索引方法的位置。如何找到要打开的端口?

通常您使用您在问题中链接到的 erlang:open_port/2 function, usage of which is shown in the code example in section 6.2 of the tutorial 获得第一个端口。

除了使用 Ports 来包装 C 库,您还可以使用 NIFs. With Nifty 甚至存在一个包装器生成器可以为您完成大部分工作。