基于libffi库实现的
ffi_prep_closure_loc(ffi_closure *, ffi_cif *, bind_func, (__bridge void *)self, (void *)funcInvoke)
ffi_prep_closure_loc方法将ffi_clousure对象、函数模板cif、绑定的函数bind_func、绑定函数bind_func中传递的数据、函数指针funcInvoke等绑定在一起
bind_func 得到所有的参数和调用所有的切面代码及原函数
void bind_func(ffi_cif *cif, char **ret, int **args, void *userdata) {
LibffiViewController *viewController = (__bridge LibffiViewController *)userdata;
int value1 = viewController.value;
int value2 = *args[0];
int value3 = *args[1];
const char *result = [[NSString stringWithFormat:@"str-%d", (value1 + value2 + value3)] UTF8String]; //
*ret = result;
}