当前位置: 首页 > ops >正文

3. 仓颉 CEF 库封装

文章目录

  • 1. capi 使用说明
  • 2. Cangjie CEF
    • 2. 1实现目标
  • 3. 实现示例

1. capi 使用说明

根据上一节 https://blog.csdn.net/qq_51355375/article/details/147880718?spm=1011.2415.3001.5331 所述, cefcapi 是libcef 共享库导出一个 C API, 而以源代码形式分发的 libcef_dll_wrapper 项目将这个导出的 C API 包装在 C++ API 中就成为了 cef 的C++ API , 及常用的开发方式。 既然libcef_dll_wrapper 是基于capi 的封装, 那是不是可以直接使用capi 和c语言来进行cef的开发呢,经过验证测试是没问题的。

但是基于capi 使用, 需要手动管理引用计数,资源及内存要手动管理,开发项目比较大时相关管理比较麻烦。

2. Cangjie CEF

  • 因仓颉可以通过ffi 来调用c语言, 和c语言的操作也支持的比较好。所以是否可以通过仓颉和cefcapi 进行结合来实现在从仓颉端调用cef的能力。
  • 因为仓颉支持和c的函数及结构体映射,所以接口采用cefcapi和部分结构封装的方式实现, 保留cefcapi在仓颉端的结构映射,从而可以保留可以在仓颉端直接使用和封装cef的能力, 而直接在c端封装部分结构和接口,可以简化开发,同时提供一个开箱即用的环境和处理一些在仓颉端无法完成的操作,如c的宏调用等。

2. 1实现目标

Cangjie CEF最终目的是希望能实现一个类似tauri 和 electron 的混合桌面开发框架

3. 实现示例

在这里插入图片描述

在这里插入图片描述

参考:
https://gitcode.com/Cangjie-SIG/cj-cef

https://gitcode.com/CodingBinary/zhinu_ui#js-%E8%B0%83%E7%94%A8%E4%BB%93%E9%A2%89

http://www.xdnf.cn/news/5323.html

相关文章:

  • Playwright 简介
  • Go语言实现豆瓣电影Top250爬虫
  • MNIST 手写数字分类
  • (9)被宏 QT_DEPRECATED_VERSION_X_6_0(“提示内容“) 修饰的函数,在 Qt6 中使用时,会被编译器提示该函数已过时
  • 【信息系统项目管理师】第3章:信息系统治理 - 29个经典题目及详解
  • Python_day22
  • 03.three官方示例+编辑器+AI快速学习webgl_animation_multiple
  • Python Day 22 学习
  • Kafka topic 中的 partition 数据倾斜问题
  • Google LLM prompt engineering(谷歌提示词工程指南)
  • MySQL索引详解(下)(SQL性能分析,索引使用)
  • Kubernetes .yaml 文件配置
  • 计算机网络--2
  • 基于LLM的6G空天地一体化网络自进化安全框架
  • ubuntu22.04在 Docker容器中安装 ROS2-Humble
  • RuoYi-v4.7.8 jar/war部署
  • RabbitMQ学习(第三天)
  • Spark任务调度流程详解
  • Java大师成长计划之第18天:Java Memory Model与Volatile关键字
  • 游戏引擎学习第273天:动画预览
  • BGP联盟
  • MNIST DDP 分布式数据并行
  • 「OC」源码学习—— 消息发送、动态方法解析和消息转发
  • Docker拉取ubuntu22.04镜像使用ROS2 humble及仿真工具可视化进行导航
  • 【大模型面试每日一题】Day 15:流水线并行的Bubble问题及其缓解方法
  • Apache Flink 与 Flink CDC:概念、联系、区别及版本演进解析
  • 花朵识别系统Python+深度学习+卷积神经网络算法+TensorFlow+人工智能
  • Newton GPU 机器人仿真器入门教程(零)— NVIDIA、DeepMind、Disney 联合推出
  • 【目标检测系列】YOLOV1解读
  • openjdk底层汇编指令调用(一)——汇编指令及指令编码基础