- 博客(29)
- 收藏
- 关注
原创 【五】从0定制浏览器:注册自定义协议并处理请求
未来我们希望可以通过 C++ 和 Web 混合开发的方式来继续扩展浏览器的功能,这就需要对 Web 资源进行集中化管理。当前我们的浏览器是通过 file:// 协议加载 Web 资源的,但是这样可能不容易区别 Web 资源和 其它文件,无法做到权限隔离,可能不再适用我们的业务需求。本文将介绍如何添加我们自定义的协议,并让它像 file:// 协议URL请求那样返回对应的数据。
2025-03-20 22:07:42
746
原创 【四】从0定制浏览器:增加 Cookies 持久化支持
本期我们将介绍如何为我们定制的浏览器添加 Cookies 数据持久化支持,从而实现保持网页登录状态的能力
2025-03-13 16:10:05
909
原创 【间章一】从0定制浏览器:实现脚本工具管理耦合Chromium的代码更改
我们定制的浏览器aloha-xromium不可避免要直接修改 Chromium 产生耦合,因此需要一个脚本工具帮我们自动提取、应用、清除这一部分耦合
2025-02-28 10:28:21
546
原创 【二】从0定制浏览器:修复HTML5播放器问题并引入 Native Views
本期我们修复了无法使用HTML5播放器播放视频的问题,并引入了Native UI。从这期开始我们对 Chromium 原始代码的改动会变得越来越多,如果完全靠图文解说,受限于文章的篇幅,很多的细节可能没有办法完全解释清楚。因此下期我们将聊聊怎么开发一个脚本工具,把我们的更改单独提取出来,然后我会把这些更改推送到 Github 仓库中,方便大家交流学习。
2025-02-27 11:57:16
1009
1
原创 【一】从0定制浏览器:引言
本期我们对 Chromium 的开发做了一些简单的介绍,并做了些简单的前置准备。目前我们的 ‘浏览器’ 已经可以正常展示网页了,不过无法播放一些视频网站的视频(比如 B 站),这个问题我们会在下期的博客中介绍解决方法。
2025-02-26 23:57:03
963
1
原创 C++冷知识第【四】期 变量与常量的底层表示
本期C++冷知识继续从实践出发,从大家熟悉的C/C++高级语言分析变量和常量的底层表示,帮助大家更容易理解计算机的底层原理
2024-03-01 17:22:46
725
原创 【项目六】基于QPlainTextEdit的模拟控制台IO的Qt控件
基于派生QPlainTextEdit和事件过滤实现了模拟控制台IO的Qt控件,允许其他线程获取控件的缓冲区对象并通过标准流对象进行io交互
2023-04-28 11:39:16
700
原创 【项目五】基于C++20实现的And信号量与信号量集机制
基于C++20 counting_semaphore 实现可用于线程同步的And信号量机制和信号量集机制
2023-04-14 11:31:08
666
2
原创 C++&Qt经验总结【四】
本次经验分享主要是有关C++并发编程的基础知识,学校的操作系统课程更多的是概念的内容,很少有实践的机会,本文主要立足实践,希望能够帮助读者更好地理解并发
2023-04-07 15:35:40
557
原创 C++&Qt经验总结【三】
本期经验分享主要包括:c++模板匹配策略,forward完美转发,深入理解流对象,vector::emplace_back的性能分析,Qt事件系统之事件过滤器
2023-03-18 15:18:06
360
原创 LeetCode刷题日志(剪枝,去重与双指针):五
n数之和的套路是一致的,除了最简单的两数之和不需要进行区间划分,其它的三数,四数之和都是通过一步步的区间划分,将问题转化成两数之和的问题。
2023-01-05 16:49:01
81
原创 【项目四】C++实现反射机制(通过宏和包装Lambda表达式实现)
昨天彻底完善了C++实现事件委托,与观察者模式有关的学习总算可以结束了,于是我翻开了《大话设计模式》的下一页,抽象工厂,令人无语的是其中又用到了C++中没有的技术——反射机制。既然没有,秉承着自己动手丰衣足食的理念,我决定自己写。
2023-01-02 21:28:32
1159
2
原创 【项目三 (利用remove_reference将引用类型转化为值类型,从而实现对任何非void类型函数的返回值存储)】C++实现事件委托(完全体)
C++实现事件委托,利用remove_reference将引用类型转化为值类型,从而实现对任何非void类型函数的返回值存储)
2023-01-01 21:32:07
394
原创 【项目三】C++实现事件委托
前几天在学习设计模式中的观察者模式时发现需要用到一个十分巧妙的机制——事件委托,事件委托的匿名属性,可以使得通知者对象更新观察者对象时不需要依赖具体名称的函数,是一种降低系统耦合度的设计。我看的设计模式书是《大话设计模式》,里面使用C#举例的,C#中就有事件委托的机制,而我是学C++,无奈C++中没有事件委托的设计,虽然Qt中有类似的机制——信号与槽,但是总感觉技术不如掌握在自己手中好,索性自己了解并编写一套事件委托系统
2022-12-29 22:35:38
1206
1
原创 【项目二】基于Qt平台的线性代数运算工具
前言Linear Algebra Terminator 基于去年编写的C语言代码向C++进行迭代,其中迭代了3个版本,不过都是在控制台上完成的,对用户输入不太友好,其中的矩阵对象主要是依据自定义的Fraction(分数)对象实现的,缺乏多样性,本次Linear Algebra Terminator - version 4.0 基于Qt平台开发,保留了原版本指令模式输入,同时添加了可视化输入和修改的模式,以及将原本的矩阵对象改为了类模板来实现多态。...
2022-08-28 21:40:04
1401
2
原创 【项目一】基于Qt平台的交互式输入与输出窗口
C++控制台程序的学习告一段落,经过一段时间的Qt学习,本文通过Qt在ui窗口上实现部分C++标准输入输出流的功能
2022-08-12 16:19:37
2783
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人