如何从 Flutter 调用原生 C 函数?

How to call a native C function from Flutter?

我想从 Flutter 调用 'hello_world' 函数。

    #include <stdio.h>
#include "hello.h"
__attribute__((visibility("default"))) __attribute__((used))
int main()
{
    hello_world();
    return 0;
}
void hello_world()
{
    printf("Hello World\n");
}

我在 plugin.dart:

中尝试过这种方式
final DynamicLibrary helloLib = Platform.isAndroid
    ? DynamicLibrary.open("libhello.so")
    : DynamicLibrary.process();

final void Function() hello =
helloLib
    .lookup<NativeFunction<Void Function()>>("hello_world")
    .asFunction();

在我的 main.dart 文件中,我尝试了这种方式:

body: Center(
          child: Text('Running on: ${hello}'),

但是它显示无效而不是显示结果。如何解决这个问题呢? 提前致谢。

要在 Flutter 程序中使用 C 代码,请使用 dart:ffi 库(目前处于测试阶段)。

Step 1: Create a plugin

Step 2: Add C/C++ sources

Step 3: Load the code using the FFI library

你可以参考这个:https://docs.flutter.dev/development/platform-integration/c-interop