首页 文章

在dart / flutter项目中包含C文件

提问于
浏览
4

在用DartFlutter编写的跨平台(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; 
}

提前致谢!

1 回答

  • 3

    目前,您无法同步执行此操作 . 抱歉打破了你的心 .

相关问题