首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter ffi实践录

    最近琢磨着要给自己的 APP 接一个日志收集的 SDK 备用。考虑到一个问题,目前大多数开源的日志库,例如美团的 Logan 和腾讯的 XLog ,日志的存取都选择了使用 mmap 建立内存文件映射来提升读写效率和日志防丢。如果直接封装 plugin 调用 Android、iOS平台代码的话,就会出现 Flutter -> Platform -> Native 的情况。很显然,这种调用是没有必要的。那可以直接 Dart 调用 C/C++ 吗?答案是可以的。 实践了一下 Flutter 通过 ffi 包调用 native C/C++ 代码,ffi 代表 Foreign function interface (外部函数接口),入门实践 可以在 Flutter 的官方文档(https://flutter.cn/docs/development/platform-integration/c-interop)中找到。 我们使用 DynamicLibrary 来加载 C/C++ 编写的动态库。在 iOS 中,可以直接在源代码目录写,在Android 中则需要在 Gradle 中配置 CMakeList 。 接下来我们以接入 Logan 的 C 代码为例来实践一下,关于 Logan ,可以参考它的 github (https://github.com/Meituan-Dianping/Logan)。

    02

    Mongodb介绍与部署应用

    1)MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。 2)MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 3)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 4)2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。 5)MonggoDB支持Unix、linux、windows等系统平台。 6)在许多场景下用于代替传统的关系型数据库或键/值存储方式,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。是一个面向集合的,模式自由的文档型数据库。

    01

    Visual Studio Code——做嵌入式C/C++开发常用的编辑器软件安装及基本使用总结

    记着很早以前上大学的时候用的就是Visual Studio Code这款软件学习C语言编程的,当时的软件界面风格还很古板,后来工作了,做嵌入式开发用的软件像KEIL、IAR、MPLAB等比较多,这些都是集成编辑和编译于一体的,但是有个缺点是编辑器用起来很不舒服,色彩单一,格式不美观等问题;后来做Linux开发,编写代码时常用其他的编辑器编写,然后再在虚拟机下使用交叉编译器做编译,这种开发模式比较常见,这里说的其他编辑器,用过的像最简单的TXT文本编辑器、Edit编辑器、Source Insight等。TXT早都不用了:)Edit简单打开个文本查看代码尚可,Source Insight就比较强大了,一般配合其他编译器建立工程,代码同步修改,界面也很给力。今天再次接触N年前用的Visual Studio Code编辑器,发现改进已经很大了,可以自由添加编辑各种语言(C/C++、Python、C#等)的插件,另外重要的是相比Source Insight是免费的,用起来也不错,这里记录总结下。

    02
    领券