Libffi 库提供一个可移植的高级编程接口,用于处理不同调用惯例。这允许程序在运行时调用任何给定了调用接口的函数。
FFI 是 Foreign Function Interface (跨语言函数接口) 的缩写。FFI 允许使用某种编程语言编写的程序调用其他语言编写的程序。特别地,Libffi 为 Perl 或 Python 等解释器提供使用 C 或 C++ 编写的共享库中子程序的能力。
和 GMP 类似,Libffi 在构建时会使用特定于当前处理器的优化。如果是在为另一台计算机构建系统,请将 --with-gcc-arch=
的设定值改为那一台计算机的 CPU
完全实现的某个架构名称。否则,所有链接到 libffi
的程序都可能触发非法指令异常。
准备编译 Libffi:
./configure --prefix=/usr \ --disable-static \ --with-gcc-arch=native
配置选项的含义:
--with-gcc-arch=native
保证 gcc 为当前系统进行优化。如果不使用该选项,构建系统会猜测系统架构,可能生成不正确的代码。如果要将生成的代码从本地系统复制到指令集功能较弱的系统中,需要使用目标系统架构作为该选项的参数值。关于不同系统架构的信息,参阅 gcc 手册中提供的的 x86 选项。
编译该软件包:
make
运行命令以测试编译结果:
make check
安装该软件包:
make install