直接构建的项目(编辑器使用的VS code),需要安装c++的编译器(jiafa.dll,main1.dart请忽略)
目录结构
先创建文件夹assets,并创建main.c文件
main.c的文件内容
int add(int a, int b) {
return a + b;
}
在vs code的终端进入assets文件夹,输入gcc main.c -shared -o main.dll 将main.c编译成dll文件
在main.dart中。
引入
import 'dart:ffi' as ffi
然后建立参数的映射
typedef Cpara = ffi.Int32 Function(ffi.Int32, ffi.Int32);
typedef DartPara = int Function(int, int);
在方法中调用dll文件
ffi.DynamicLibrary jiafa = ffi.DynamicLibrary.open('./assets/main.dll');
var add = jiafa.lookupFunction
("add"); print(add(1, 2));
打印效果
最后是main.dart文件的全部内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)