SDK 系列 -- Crashes 一、背景应用开发时,难免遇到崩溃问题:常识用于缩小检索范围;检索能力要靠经验积累喽。 二、SDK 崩溃: spdlog: 开源日志库当日志路径存在 utf16 字符时,构造函数传入的路径参数会造成崩溃。此时,需要单独构建支持 utf16 的库版本。 zmq: 开源IPC库zmq 会在当前用户目录下的某个路径写入一些临时数据。如果当前用户的账户名存在 utf16 字符时,zmq 创建 socket 2024-02-27 SDK
SDK 系列 -- CEF -- 构建流程(Current Branches & Legacy Branches) 一、背景由于版权限制,CEF官方提供的库文件并不支持视频解码功能。截至 2024年2月26日,CEF 的最新 Release 大版本号是 122。对于 CEF 的所有版本号,博主通常有两种划分方式: 方式一: Supported Branches: 官方维护的构建工具支持构建的分支。 Unsupported Branches: 官方维护的构建工具不支持构建的分支。注意:官方文档中的部分 Legac 2024-02-26 SDK
下载器 -- IPC 调研(备忘) -- 2024.09.15 旧稿发布 一、背景借助于开源的 Aria2c 下载器,实现一款资源下载工具。 二、问题开源的 Aria2c 下载器使用定制的 MaiaIPC 进行通信:http post。会存在一些问题: Http 链接:N 组资源下载,需要在业务层维持 N 个 Http链接 状态查询:定时主动轮询,会存在 60% 以上的无效查询。 异常同步:强依赖状态查询。若不查询,则无法获取异常信息。 三、预期新版 IPC 要能 2023-09-16 C++
下载器 -- 调试工具(备忘) 一、背景如何便捷地调试 Golang 导出库。 lib 生成工具:以应对 SDK 接入前期频繁更换库文件的情况 C++ 测试环境:以用于 SDK 接入前期的频繁验证工作 二、解决方案本节内容将以列表形式提供: lib 工具生成、VSCode 测试环境 1、lib 生成(手动)动态库的使用方式分为:动态调用,静态调用。SDK 导出库只给到了 *.h 和 *.dll 文件。要想以静态调用的方式使用 2023-09-15 C++
CEF3 系列 -- 实践汇总(持续更新) 前言这里给出一些 QCefView 存在的一些瑕疵。 正文汇总主要关注应用开发中的技术问题、技术 ‘难点’ 。因此,后续部分将以列表形式给出。 1、Input Method Editor (IME)详见 [杂项] CEF3 -- IME Behavior。 2、QCefView 输入法组合键:小语种(葡萄牙语)KeyBoardUtils 作为插件的辅助工具,主要用于 Qt 事件 –> CEF 2023-09-02 Cef
并发系列 -- 汇总(持续更新) 一、前言本文摘自 C++ Concurrency IN ACTION,一本基于 C++11 标准的并发和多线程编程深度指南。内容包括 std::thread、std::mutex、和 std::async 等基础类的使用,内存模型和原子操作、基于锁和无锁数据结构的构建,以及并行算法和线程管理。同时,会在部分章节附加 Qt 提供的便利工具。 基础类图中涉及 C++ 标准库 和 Qt 提供的一些工 2023-08-06 C++
[杂项] QSS 前言QSS 实战经验总结。 预备知识QSS 就是 QWidget 会用到的样式表。只有 QWidget 会用到 QSS 。QML 是脚本语言啦,它依赖 Quick 提供的可视化组件。而 Item 系列的可视化组件是 JSEngine 负责渲染的。所以,QWidget 和 QuickItem 是属于两个完全不想干的领域(QObject 是唯一共性)。以博主对 QSS 的认识,其大致可分为: CSS 2023-04-25 Qt
初探 QML 系列 -- 工程实践汇总(持续更新) 一、预备知识Windows 支持两种类型的应用程序: GUI 程序和 CUI 程序。本文介绍的对象当然是 GUI 程序。Windows 应用程序必须有一个入口点函数,应用程序运行时,这个函数将被调用。C/C++ 开发人员可以使用以下两种入口点函数: 12345678910Int WINAPI _tWinMain( HINSTANCE hInstanceExe, HINSTAN 2023-04-05 Qt
初探 QML 系列 -- 规划 前言对于桌面软件开发,常用的 UI 库包括:MFC、 QT、 wxWidget、FLTK 等。如果项目立项初期选择 Qt 的话,有两个大的方向可供选择:QWidget, QML。 在性能方面,两者基本上没有太大差距。 但对于 C++ 开发人员,两种选择都有不小的挑战。对于桌面 App 涉及到的技术点,博主将其分为两类:布局系统 和 其它 。 预备知识对比 QWidget 和 QML 的布局方式, 2023-03-22 Qt
[杂项] AR -- 前后景处理 前言本文着重梳理两年来博主在 AR 直播领域(渲染、推流、数据处理)的技术积累. 为避免遗忘这些宝贵的经验和方法, 才有了这篇纯技术文章. 预备知识GPU 流水线 顶点数据: 模型通常由三角面 (或四边面) 组成. 在 GPU 渲染流程中,三角面片的顶点数据则是顶点着色器的输入,包括:位置, 法线, 切线, N 个纹理坐标以及颜色 坐标系: 空间位置都是相对的. 日常技术沟通时,我们常说:A 坐 2023-03-22 AR