0

dart の c++ 関数から戻り値を取得しようとしています。

私のC ++コードは次のようなものです

static bool is_alive() {
  return true;
}

ダーツから、共有ライブラリにこのネイティブ コードをロードし、そのis_alive()関数を呼び出そうとしています。

typedef BooleanFunction = Pointer<Int8> Function();

Pointer<NativeFunction<BooleanFunction>> isAlive = (functionAddress).cast<NativeFunction<BooleanFunction>>();
Pointer<Int8> Function() isAliveFunc = isAlive.asFunction();

次にisAliveFuncfrom dart を呼び出し、その関数の結果が必要です。私はこれらすべての方法を試しました。これらの作品のどれも。

Pointer<Int8> casted = isAliveFunc()!.cast();
Pointer<Int8>? fromPointer = isAliveFunc()!;

developer.log('value : $casted');

私はこのような結果を得る Pointer<Int8>: address=0x1

dart でこのポインタから値を取得するにはどうすればよいですか? 結果として 1 または 0 が返されることを期待しています。

4

1 に答える 1