Libffi 库提供一个可移植的高级编程接口,用于处理不同调用惯例。这允许程序在运行时调用任何给定了调用接口的函数。
和 GMP 类似,libffi 在构建时会使用特定于当前处理器的优化。如果是在为另一台计算机构建系统,请导出 CFLAGS 和 CXXFLAGS 环境变量,为您的架构指定较为通用的构建目标。否则,所有链接到 libffi 的程序都可能触发非法指令异常。
准备编译 libffi:
./configure --prefix=/usr --disable-static --with-gcc-arch=native
配置选项的含义:
--with-gcc-arch=native
保证 gcc 为当前系统进行优化。如果不使用该选项,构建系统会猜测系统架构,在某些系统上可能生成不正确的代码。如果要将生成的代码从本地系统复制到指令集功能较弱的系统中,需要使用目标系统架构作为该选项的参数值。关于不同系统架构的信息,参阅 gcc 手册中提供的的 MIPS 选项。
编译该软件包:
make
运行以下命令以测试编译结果:
make check
安装该软件包:
make install