Windows系列 -- 设备IO 简介本篇索引大致分为以下内容:设备、接口、同步设备I/O、异步设备I/O。 该篇非入门,可止步。 汇总本节以图示形式列出,供随时索引。更详细节可参考 Windows via C/C++ (第五版)。 2024-04-07 Windows
Windows 系列 -- 规划 一、简介该系列将作为 Windows via C/C++ (第五版)的索引,大致可分为以下几类: Windows 内核对象:重中之重。 Windows 开发通识: 一些常识,比如: 进程,线程,设备等。 Windows 技术设施: 一些便捷接口,比如:可提醒 IO 提供的 QueueForAPC 机制。 二、规划 设备IO Windows 消息 … 三、体会Windows Job: 2024-04-07 Windows
SDK 系列 -- Crashes 一、背景应用开发时,难免遇到崩溃问题:常识用于缩小检索范围;检索能力要靠经验积累喽。 二、SDK 崩溃: spdlog: 开源日志库当日志路径存在 utf16 字符时,构造函数传入的路径参数会造成崩溃。此时,需要单独构建支持 utf16 的库版本。 zmq: 开源IPC库zmq 会在当前用户目录下的某个路径写入一些临时数据。如果当前用户的账户名存在 utf16 字符时,zmq 创建 socket 2024-02-27 SDK
SDK 系列 -- CEF -- 构建流程(Current Branches & Legacy Branches) 一、背景桌面端开发中,会有使用到 Webview 的场景。当有视频播放需求时,需要本地构建带有自定义开关的 CEF。由于版权限制,CEF官方提供的库文件并不支持该动能。如果桌面客户端使用的时 Qt, Qt WebEngine 也是不支持的哦。相较于 QWebEngine,我们通常会选择灵活性更大的 CEF。截至 2024年2月26日,CEF 的最新 Release 大版本号是 122。对于 CEF 2024-02-26 SDK
SDK 系列 -- 下载器 -- 前置工作 一、背景桌面客户端开发会涉及到文件更新:大文件的局部更新。通常情况下,我们可以使用了 Aria2c 作为辅助下载工具(非 libaria)。文件局部更新的需求,实现主流的更新下载方案很重要。 二、现状自研下载器是采用 Golang 语言开发,并以库的形式供平台集成。开发前期存在以下问题: Golang 只能提供 Windows 平台的动态链接库,且缺少 *.lib 符号文件 自研库的开发同学资历 2023-09-15 C++
CEF3 系列 -- 实践汇总(持续更新) 前言首次半年绩效考核,挺好的绩效。输出一些技术相关的汇总, 比如:Cef。 20 年 7 月,应届入职。博主首次接触 Web 相关开发:Electron & VueJS 桌面客户端。 22 年 11 月,博主入职新公司,并再次接触 Web 相关的开发:Qt & QCefView 桌面客户端。 正文汇总主要关注应用开发中的技术问题、技术 ‘难点’ 。因此,后续部分将以列表形式给出 2023-09-02 Cef
并发系列 -- 汇总(持续更新) 一、前言本文摘自 C++ Concurrency IN ACTION,一本基于 C++11 标准的并发和多线程编程深度指南。内容包括 std::thread、std::mutex、和 std::async 等基础类的使用,内存模型和原子操作、基于锁和无锁数据结构的构建,以及并行算法和线程管理。同时,会在部分章节附加 Qt 提供的便利工具。 基础类图中涉及 C++ 标准库 和 Qt 提供的一些工 2023-08-06 C++
并发系列 -- 实践 -- 直播推流之帧率控制(1080p59.94, 1080p50) 一、项目背景博主在职期间,负责赛事直播项目的 Windows 桌面端开发工作: (1) AR 后台系统AR后端充分利用 Qt Designer 提供的能力 (Custom Widget), 设计出一套能够快速集成各个算法模块的 标准化组件 。 上图是由 QT 构建的实时处理系统,可划分为两大组成部分: 主框架(EXE):为各算法模块的运作提供了一致的行为规范,包括:加载、运行、状态监测、 2023-05-12 C++
[杂项] QSS 前言经过博主近期一个月在 QML & Quick 方面的预研,部门线上产品已经可以看到 QML 相关内容。现阶段,组内正在使用 QML 开发 IM 需求。组内技术栈转型是个很大挑战。所以,决定这么做是有前提的: 对于博主来说,常规业务开发涉及的 QWidget 相关技术已没有任何挑战性; 对新技术的预研,有相当的成果:利用业余时间,博主使用 QML 把 QWidget 相关业务已实现 8 2023-04-25 Qt
初探 QML 系列 -- 工程实践汇总(持续更新) 一、预备知识Windows 支持两种类型的应用程序: GUI 程序和 CUI 程序。本文介绍的对象当然是 GUI 程序。Windows 应用程序必须有一个入口点函数,应用程序运行时,这个函数将被调用。C/C++ 开发人员可以使用以下两种入口点函数: 12345678910Int WINAPI _tWinMain( HINSTANCE hInstanceExe, HINSTAN 2023-04-05 Qt