小编Ala*_*laq的帖子

Dart/Flutter ffi(外来函数接口)原生回调,例如:sqlite3_exec

您好,我正在使用 dart:ffi 与我的本机 c/c++ 库构建一个接口。我需要一种方法来获取从 c 到 dart 的回调,例如在 sqlite 中:

int sqlite3_exec(
    sqlite3*,                                  /* An open database */
    const char *sql,                           /* SQL to be evaluated */
    int (*callback)(void*,int,char**,char**),  /* Callback function */
    void *,                                    /* 1st argument to callback */
    char **errmsg                              /* Error msg written here */
);
Run Code Online (Sandbox Code Playgroud)

in 的第三个参数sqlite3_exec是指向回调的函数指针。所以如果我在 dart 中使用调用这个函数,ffi我需要传递一个函数指针:在dart:ffi Pointer类中有一个名为fromFunctionwitch的函数接受一个 dart 静态函数和一个exceptionalReturn; 但是仅仅通过调用这个函数来获取一个 dart 托管函数的函数指针:a(sigterm)被引发并且 dart 代码不再在这个过程中工作。

所以我的问题:有没有办法在 dart 中获得本机回调,如在 Python、c#、..

额外:有什么方法可以包含 …

ffi dart flutter dart-ffi

8
推荐指数
1
解决办法
2523
查看次数

标签 统计

dart ×1

dart-ffi ×1

ffi ×1

flutter ×1