在使用Dart和Flutter编写的跨平台(Android / iOS)项目中,我需要包含一个C文件并从该文件中调用C函数.例如,Dart中还没有许多最新的加密代码.此外,我需要使用返回值调用dart函数中的C代码,因此我不能使用异步方法,但需要同步调用这些函数.
thread about including C/C++ code in Flutter似乎建议使用platform channels.使用这些,可以使用相应平台的本机代码.对于iOS,Objective C是C的超集,对于Android,需要一个额外的层,即NDK才能使用C代码.这不仅意味着需要两次编写代码(我可以使用),但platform channels tutorial明确表示平台调用是异步的(这对我来说是破坏的).
我发现2012年的另一个thread about native extensions in Dart显示了如何在dart中包含C代码,但这似乎只针对命令行应用程序.
如果没有办法从颤动中同步调用C函数,那就太奇怪了.如果您对如何实现这一点有所了解,那么您可以将概念证明考虑为这样的简单C函数:
int inc(int num) {
return num + 1;
}
提前致谢!
解决方法:
目前,您无法同步执行此操作.抱歉打破了你的心.
原文地址:https://codeday.me/bug/20190522/1152710.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。