如何在 go 中使用 .lib 和 .dll 文件调用预构建的 API?

How can I call prebuilt APIs with .lib and .dll file in go?

我有一个 PCI-E 采集卡,我必须使用制造商提供的 API。 他们提供预构建的 .lib 和 .dll 文件。 我如何在 Golang 中使用它? 还是可以使用GOCV获取采集卡的输出?

三种方式:

  1. 您可以从 Go 加载和调用 dll。这记录在 https://github.com/golang/go/wiki/WindowsDLLs.
  2. 您可以使用 cgo 加载和调用您的 dll 或 link 库,并从您的 Go 代码中调用它。这更复杂,需要更多的脑力。
  3. 您可以使用 syscall.NewProc。

我会用第一个。它们都记录在 https://github.com/golang/go/wiki/WindowsDLLs 中并附有示例。

您还可以通过搜索 syscall.syscall9 在 Github 上查看示例。

如果您的机器有驱动程序并且它与 openCV 兼容,您可以使用 GOCV 来捕获数据。