-
接口
cef 导出了两套接口,一个c++ api 和 c api, c api 基于libcef.dll库导出的接口,可以直接使用c 调用,比较基础,多数功能需要封装。 c++ api 就是二次编译的 libcef_dll_wrapper, 是对libcef导出的c接口的封装和调用, 里边包含许多平台相关的封装和调用,包括gpu的调用优化,沙箱功能的优化使用,配置相当复杂,使用简单。 -
版本
133 以上版本capi 部分关于v8相关接口,结构命名发生了些许变化。 api 调用前需要调用cef_api_hash.h 提供的接口后续调用才能成功。
const char *hash = cef_api_hash(CEF_API_VERSION, 0);
LOG_DEBUG("hash: %s\n", hash);
if (strcmp(hash, CEF_API_HASH_PLATFORM))
138 版本后增加了启动器, 使用沙箱功能需要将代码打包为动态库,使用cef提供的启动器来启动。这个版本想要导出接口给其他语言使用,有沙箱功能时比较困难。
-
gpu 问题
不管是使用c++api还是capi 都需要给可执行程序添加清单文件,不然会导致gpu报错,渲染出现问题。 -
仓颉封装
通过导出和封装capi , 结合仓颉端结构映射可实现仓颉端cef调用。
项目地址:https://gitcode.com/Cangjie-SIG/cj-cef