Flutter和C/C++通信

本文探讨了在公司战略调整后转向Flutter的原因,并详细调研了Flutter与C/C++的通信,包括传递基本参数(如Int)、数组参数及返回指针的方法。通过示例代码展示了如何实现这些交互,为使用Flutter开发C/C++项目奠定了基础。
摘要由CSDN通过智能技术生成

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

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值