b); // C側での関数の定義に対応する定義 typedef SubtractAbi = Int32 Function(Pointer<Int32> a, Int32 b); // Dart側で使いたい関数定義 (int のサイズに注意!) typedef Subtract = int Function(Pointer<Int32> a, int b); // allocate from ffi package Pointer<Int32> p = allocate(1); p.value = 3; final funcPtr = lib.lookup<NativeFunction<SubtractAbi>>('subtract'); final subtract = funcPtr.asFunction<Subtract>(); int result = subtract(p, 5);