要求

预计阅读时间: 2 分钟

源文档 - Requirements

Node.js

Koffi 需要支持 N-API 版本 8 的最新 Node.js 版本:

  • Node < 12.22.0 不受支持
  • Node 12.x:Node 12.22.0 或更高版本
  • Node 14.x:Node 14.17.0 或更高版本
  • Node 15.x:Node 15.12.0 或更高版本
  • Node 16.0.0 或更高版本

在较旧的 Linux 发行版上,可以使用 NVM 安装更新的 Node 版本。

支持的平台

目前,以下操作系统和架构的组合是官方支持并经过测试的:

✅ 是 | 🟨 可能 | ⬜️ 不适用

架构(ISA/OS)WindowsLinux(GLIBC)Linux(MUSL)
x86 (IA32) 1🟨
x86_64 (AMD64)
ARM32 LE 2⬜️🟨
ARM64 (AArch64) LE
RISC-V 64 3⬜️🟨
LoongArch64⬜️🟨

✅ 是 | 🟨 可能 | ⬜️ 不适用

架构(ISA/OS)MAC OSFREE BSDOPEN BSD
x86 (IA32) 1⬜️
x86_64 (AMD64)
ARM32 LE 2⬜️🟨🟨
ARM64 (AArch64) LE🟨
RISC-V 64 3⬜️🟨🟨
LoongArch64⬜️🟨🟨

✅ 是 | 🟨 可能 | ⬜️ 不适用

对于所有完全支持的平台(绿色勾号),NPM 包中包含预构建的二进制文件,这意味着您可以无需 C++ 编译器即可安装 Koffi。

  1. 支持以下调用约定用于正向调用:cdecl、stdcall、MS fastcall、thiscall。只有 cdecl 和 stdcall 可用于从 C 到 JS 的回调。
  2. 预构建的二进制文件使用硬浮点 ABI,并期望有一个 VFP 协处理器。如果要使用不同的 ABI(softfp、soft)运行 Koffi,则需要从源代码构建。
  3. 预构建的二进制文件使用 LP64D(双精度浮点)ABI。理论上,如果从源代码构建 Koffi,则支持 LP64 ABI(未测试),但不支持 LP64F ABI。