11static float return_fl(
float fl1,
float fl2,
float fl3,
float fl4)
15 sum = fl1 + fl2 + fl3 + fl4;
23 float fl1, fl2, fl3, fl4, rfl;
26 args[0] = &ffi_type_float;
27 args[1] = &ffi_type_float;
28 args[2] = &ffi_type_float;
29 args[3] = &ffi_type_float;
37 &ffi_type_float, args) == FFI_OK);
43 ffi_call(&cif, FFI_FN(return_fl), &rfl, values);
44 printf (
"%f vs %f\n", rfl, return_fl(fl1, fl2, fl3, fl4));
46 sum = fl1 + fl2 + fl3 + fl4;
void ffi_call(ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue)
ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs, ffi_type *rtype, ffi_type **atypes)