CaiJingLong / kikt-blog-comment

0 stars 0 forks source link

posts/flutter/ffi/1-first-party/ #16

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

在 flutter 上使用 c 代码 - (一) 有源码的项目 | caijinglong的博客

在 flutter 上使用 c 代码 - (一) 有源码的项目

https://www.kikt.top/posts/flutter/ffi/1-first-party/

mr-52hz commented 4 years ago

博主 我有一个问题,如果只有C编译好的os库,该怎么设置路径呢?DynamicLibrary dylib = Platform.isAndroid ? DynamicLibrary.open("libnative_add.so") :DynamicLibrary.open("libnative_add.so")

CaiJingLong commented 4 years ago

博主 我有一个问题,如果只有C编译好的os库,该怎么设置路径呢?DynamicLibrary dylib = Platform.isAndroid ? DynamicLibrary.open("libnative_add.so") :DynamicLibrary.open("libnative_add.so")

你可以看本文的第二篇, 讲的是模拟无源码的项目, 其中使用cmake编译出了so, 你可以跳过编译那一步, 直接看so置入项目

CaiJingLong commented 4 years ago

而且本系列只是简单的实践了一下如何在dart中使用ffi来跨越语言边界来调用c代码 但实际上还有 dart到c类型间对应的问题, 这部分目前因为dart关于ffi的api随时可能变化, 而且没有相关的完整文档, 所以暂时没研究

mr-52hz commented 4 years ago

而且本系列只是简单的实践了一下如何在dart中使用ffi来跨越语言边界来调用c代码 但实际上还有 dart到c类型间对应的问题, 这部分目前因为dart关于ffi的api随时可能变化, 而且没有相关的完整文档, 所以暂时没研究

首先感谢解答加载动态so库。目前已经搞定android加载动态库,稍后尝试ios。而且dart的ffi类型真的很难受,比如将图片Uint32List转换为传入C接口的unsigned char *就一直找不到思路啊,还有ffi中布尔类型也是缺失的。

CaiJingLong commented 4 years ago

具体怎么转换没有太多研究 但是c中本身也并没有布尔类型 所以等待dart官方的详细文档出现吧

mr-52hz commented 4 years ago

好的 感谢