8.49. Libffi-3.4.2

Libffi 库提供一个可移植的高级编程接口,用于处理不同调用惯例。这允许程序在运行时调用任何给定了调用接口的函数。

估计构建时间: 1.8 SBU
需要硬盘空间: 10 MB

8.49.1. 安装 Libffi

[注意]

注意

和 GMP 类似,libffi 在构建时会使用特定于当前处理器的优化。如果是在为另一台计算机构建系统,请将 --with-gcc-arch= 的设定值改为那一台计算机的 CPU 完全实现的某个架构名称。否则,所有链接到 libffi 的程序都可能触发非法指令异常。

准备编译 libffi:

./configure --prefix=/usr          \
            --disable-static       \
            --with-gcc-arch=native \
            --disable-exec-static-tramp

配置选项的含义:

--with-gcc-arch=native

保证 gcc 为当前系统进行优化。如果不使用该选项,构建系统会猜测系统架构,在某些系统上可能生成不正确的代码。如果要将生成的代码从本地系统复制到指令集功能较弱的系统中,需要使用目标系统架构作为该选项的参数值。关于不同系统架构的信息,参阅 gcc 手册中提供的的 x86 选项

--disable-exec-static-tramp

禁用静态蹦床函数支持。这是 libffi 的一项新的安全特性,但一些 BLFS 软件包 (特别是 GJS) 尚未适配该特性。

编译该软件包:

make

运行以下命令以测试编译结果:

make check

安装该软件包:

make install

8.49.2. Libffi 的内容

安装的库: libffi.so

简要描述

libffi

包含跨语言函数接口 API 函数