GitHub - JupiterRider/ffi: 一个用于 libffi 的纯 Go 绑定。

主要观点:介绍了一个名为ffi的纯 Go 绑定库,用于 libffi,可在不使用 cgo 的情况下调用 C 代码,并提供额外功能。
关键信息

  • 支持的操作系统和架构包括 darwin/amd64、darwin/arm64 等多种组合。
  • 软件要求方面,多数发行版已预装 libffi,未安装时可按不同系统进行安装。
  • 给出了在不同系统下的安装方法,如 Arch Linux 用sudo pacman -S libffi等。
  • 示例代码展示了创建库及在 Go 中调用 C 函数的过程。
    重要细节
  • Windows 版本的 libffi 已嵌入库中,可通过构建标签或环境变量禁用该功能。
  • macOS 无需额外要求,libffi 二进制文件已嵌入。
  • 示例中创建了包含类型定义和函数的库,在 Go 代码中通过ffi库加载库、创建类型、获取函数签名并调用函数,对传入的Item结构体进行验证。可在仓库的examples文件夹中找到更多示例。
阅读 16
0 条评论