libffi-3.4.2
在介绍libffi库之前,咱们先来了解一个概念:函数调用约好,由于libffi库的作业原理便是基于这个条件进行的。
函数调用约好,简而言之便是对函数调用的一些规矩,经过遵从这些规矩,来保证函数能正常被调用。详细包含以下内容:
- 参数的传递办法,参数是经过栈传递仍是寄存器传递
- 参数的传递次序,是从左到右,还是从右到左
- 栈的维护办法,比方函数调用后参数从栈中弹出是由调用方处理仍是被调用方处理
当然函数调用约好并非都是统一的,不同的设备架构系统,对应的规矩也是不同的。比方iOS的arm架构和Mac的x86架构,两者的调用约好是不同的。
其实,在日常作业中,一般比较少接触到这个概念。由于编译器已经帮咱们完结了这一作业,咱们只需求遵从正确的语法规矩即可,编译器会依据不同的架构生成对应的汇编代码,然后保证函数调用约好的正确性。
http://www.sourceware.org/libffi/
./configure --prefix=$PWD/arm-install --host=aarch64-linux-gnu
make
make install
库路径
/home/zys/tool/libffi-3.4.2/arm-install/lib