1.前言:
由于公司战略调整。IOS和android人员需要充分发挥。讨论后的结果是转Flutter(主要是看Flutter招聘的人员挺多的。最开始也调研了QT,并且维护和开发过几个项目。发现QT用的人真心不多。唯一业内比较推广的项目QGC了,网站上招聘的也少。还有一个原因是QT大量用到了自己的API,虽然用到的是C++,但是对个人成长也是帮助不大。)
2.调研目的:Flutter和C/c++的交互,为以后使用Flutter开发C/C++项目做铺垫。
2.1.Flutter 传入基本参数,Flutter反馈基本参数,调研就以Int为主,其他类似
基础知识,直接上代码吧
方法声明
final DynamicLibrary nativeAddLib = Platform.isAndroid ? DynamicLibrary.open("libtestC.so") : DynamicLibrary.open("some.framework/some"); final int Function(int x, int y) nativeAdd = nativeAddLib .lookup<NativeFunction<Int32 Function(Int32, Int32)>>("native_add") .asFunction();
方法调用:
static int addWithCpp(int x, int y) { return nativeAdd(x, y); }
这个是官方的DEMO写法,没啥好说的。也能正常跑起来。
2.2 Flutter 传入数组参数,
说明:我们公司经常和byte,char数据打交道。所以此次就以Int