自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

撬动未来的支点的专栏

代码与文章并驾齐驱。

  • 博客(229)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 【Qt】总体把握文本编码问题

对世界上所有符号、文字进行编号,产生一张字符表,这个表叫做“字符集”。这样一来,我们可以使用数字编号来表示字符,每个编号占用相同的字节数。因为世界上的字符很多,一般使用32位的无符号整型存储编号,总计大约可以表示42亿种字符。目前通用的字符集是Unicode字符集。字符集中,因为有的字符使用频繁,有的字符使用不频繁,使用相同长度的编号有点浪费存储空间。改进的存储方案类似于哈夫曼编码:将使用频繁的字符用更少的字节数表示,使用不频繁的字符,用较长的字节数表示。经过优化的存储方式,叫做“文本编码”。

2023-09-05 01:35:49 829

原创 【理解线性代数】(四)从向量组点乘到矩阵相乘

矩阵A包含2个3维向量,矩阵B包含2个三维向量,矩阵B可以代表三维空间中的一个二维平面空间(两条线组成一个面),所以A中的所有向量投影到B,最终的结果变成了2个2维向量,符合我们对向量点乘及矩阵的理解。因为向量相加,必须在两个向量之间进行,所以矩阵相加,两个相加的矩阵包含的向量个数必须相等,否则会因为缺少向量而无法进行。矩阵A包含2个3维向量,矩阵B包含1个三维向量,矩阵B可以代表三维空间中的一个一维空间,所以A中的所有向量投影到B,最终的结果变成了2个一维向量,符合我们对向量点乘及矩阵的理解。

2023-09-03 16:54:23 1680

原创 【理解线性代数】(三)理解向量点乘

投影比较好理解,和现实生活中光的投影类似,投影最终的结果,和投影物体的形状,被投影物体的形状,以及投影角度有关。因为这里是一个向量(带箭头的线段)向另外一个向量(也是带箭头的线段)上投影,投影出来仍然是线段,计算结果是投影线段的长度。向量b是一条带箭头的线段,可以代表一个一维空间。一个n维向量a,从n维空间中,向一个n维向量b代表的一维空间投影,投影后的点,在一维坐标系下,坐标值为一个实数,即点乘结果。点乘的几何含义是初等数学中的知识,即点乘的几何含义是一个向量向另外一个向量上的投影的长度。

2023-09-03 00:56:39 489

原创 【循序渐进学习线性代数】【二、从初等数学到高等数学】理解线性

两个数相加的结果,没有任何数量损失,也没有任何数量凭空增加,这就是线性。从2kg物质中取走1kg物质,还剩1kg,因为减法本质上是加法,所以也遵循线性运算规则。线性物理规则的世界,质量是稳定的。举个反例,假定一个世界的物理规则是,两种物质混合,质量减少一半。在这种规则下,1+1=1,即为非线性运算。这种规则的世界,是不稳定的,质量会不断湮灭,直至消失。线性空间可以理解为一个只存在线性运算的数字世界,这是一个想象出来的虚拟空间。其实1+1等于2有一个前提条件,那就是必须在线性运算规则下进行。

2023-09-02 18:56:28 291

原创 【循序渐进学习线性代数】(一)线性代数应用和学习现状

记得在学习的时候,由于抽象思维能力不足,没有弄懂行列式,矩阵是什么,课程进度又比较快,导致后面课程落下很多。转眼毕业已七年之久,在七年的学习、工作经历中,深刻体会到了线性代数这种数学工具的重要性,特别是在计算机技术中无处不在:机器学习,神经网络、图像处理算法、3D图形技术,科学计算等等。这种思维和学习模式倾向于将已知的知识,通过拓展延伸,和新的知识建立联系,并将已学知识和新知识融为一体,统一理论,融会贯通。笔者认为,数学的发展,具有从简单到复杂,特殊到普遍的特征。只能算作思维过程记录,并不能算作标准教程。

2023-09-02 14:58:27 134

原创 【编译原理】七、从编码过程理解生成式

前面的文章中,我们从理论和实践的角度,围绕着代码解析做了相关工作。理论和实践密不可分,通过实践,我们可以加强对理论的理解。本篇文章我们主要总结对生成式理论的补充理解。通过实际编码,可以加深对生成式的理解。理论本身的创造过程应该是从实践中总结出来的,但是我们在学习理论的时候,往往是从理论开始的,这就造成了理论很难理解,理论本身有时候并不是很难,而是没有和实践结合起来。词法解析部分的基本原理,我们基本弄明白了。后面我们将进行语法解析的理论学习及程序设计。

2023-08-16 22:17:56 196

原创 【编译原理】六、四则运算支持括号及括号嵌套

在上一篇文章中,我们实现了简单四则运算,现在我们在此基础上,让四则运算支持括号。注意,为了降低复杂度,不支持括号嵌套。

2023-08-07 09:43:25 295

原创 【编译原理】五、简单四则运算的代码实现

前面说了那么多BNF的相关理论知识,实际上就是为了一个目的:描述语法规则描述语法规则是一切的开始。最终,还是要用代码来实现。如果对于BNF仍然是一头雾水,也没关系,因为我们的最终目的是编写解析器,从现在开始,我们的重点应该放到编码上。编写代码需要注意的问题,以及编写思路,并不是一个公式就能描述的,有非常多的细节需要处理,编码实现是理论知识的一个升级。在编写代码的过程中,我们可以加强对理论的理解,加强理论理解同时又能编写复杂的解析代码,正所谓:“理论要联系实际”。

2023-08-06 19:14:07 290

原创 【图像处理】pitch和stride

pitch和stride都表示图像一行占用的字节数,即图像行跨度,此值大于等于图像的一行像素的字节数。图像行跨度 = 图像像素宽度 + 对齐填充字节。

2023-05-18 19:39:04 502

原创 【开箱即用】VirtualBox Ubuntu20.04.6、22.04.2虚拟机下载

Ubuntu虚拟机下载

2023-04-17 14:06:33 699

原创 【Qt调试技巧】如何在Release下调试Qt程序?

实现在Release下调试Qt程序,需要对构造系统进行配置。

2023-03-05 18:57:54 4206

原创 如何在Qt中配置MSVC编译器链接器参数?

eeeee

2023-02-23 00:44:08 3324

原创 掌握Qt构造系统(二)软件部署

讲解Qt软件部署工具及流程。

2023-02-05 13:56:32 1232

原创 掌握Visual Studio项目配置【基础篇】

掌握Visual Studio项目配置

2023-01-03 00:51:32 5457

原创 【开箱即用】VirtualBox Ubuntu16.04.7、18.04.6虚拟机下载

VirtualBox Ubuntu16.04.7、18.04.6虚拟机下载

2022-11-25 12:37:25 922

原创 【Python】打包程序后运行程序出现 ModuleNotFoundError: No module named ‘PySide6‘

【Python】打包程序后运行程序出现 ModuleNotFoundError: No module named 'PySide6'

2022-11-19 22:50:37 909

原创 去哪查阅RFC文档?

查阅RFC方法

2022-11-18 11:43:31 1564

原创 【V4L2】学习资料

V4L2学习资料

2022-11-15 11:27:42 150

原创 【开源库学习】nlohmann C++ JSON 解析库

nlohmann C++ JSON 解析库

2022-10-28 22:14:09 336

原创 纠正一个可能的错误翻译—交叉编译

交叉编译是在一个平台上生成另一个平台上的可执行代码。因此,以Linux为主机操作系统,搭配一个交叉编译系统,为嵌入式设备生成可执行程序已成为日益流行的编译嵌入式软件的解决方案。程序编译运行过程,传统方式下在一个平台,即一台电脑即可完成,但由于嵌入式环境的特殊性,必须横跨两个平台(一个是开发机,一个是部署机)才能完成,所以叫跨平台编译。好了,说到这大家都应该明白了,交叉编译和交叉没有一点关系。相对于“交叉编译”,使用“跨平台编译”,更加专业,准确。在A平台编译可在B平台运行的可执行程序。

2022-10-24 11:25:41 152

原创 【音视频开发】音视频数据封装层级模型

音视频数据封装层级模型

2022-10-19 16:12:15 124

原创 FFmpeg资料

ffmpeg资料

2022-10-19 15:01:58 109

原创 音频帧AVFrame::linesize大于实际值的问题记录

通过打印AVFrame::data[0],确定了只有4096字节的数据是有效数据,所以应该以 AVFrame::nb_samples * av_get_bytes_per_sample(AVFrame::format)大小来判断有效数据长度。但是AVFrame::nb_samples为1024,AVFrame::format类型为AV_SAMPLE_FMT_FLTP,即每个采样是4字节。那么此音频帧中的数据应该为4096,和AVFrame::linesize[0]不相等。

2022-10-18 18:02:43 665

原创 Linux命令英文全拼及含义解释

Linux命令助记

2022-10-17 14:06:03 354

原创 【数据结构】能看懂的红黑树

红黑树资料

2022-09-03 21:22:02 112

原创 【已解决】解决Win7安装VS2013/VS2015结束时报错“无法建立到信任根颁发机构的证书链”的问题

本文提供了两种解决安装VS2013/VS2015过程中出现证书问题的解决方案。

2022-08-18 23:39:51 1739

原创 【开箱即用】VMware Win7虚拟机下载

提供多种环境配置的Win7虚拟机下载。

2022-08-10 00:32:04 2942

原创 【OSG】OSG运行模型

关于运行模型OSG中的类很多,只看OSG代码,很难把各个类串联起来。我们知道面向对象程序的运行模型是:对象+对象间协作。单纯看代码,多数情形下,只能了解程序中有哪些对象,而不知道它们是如何协作的,这是目前IT行业中,源码阅读最大的痛点。说直白一点,就是拿到源码也看不懂,或者说很难看懂。开发者在开发程序时,首先要设计程序的运行模型,然后根据运行模型编写代码。所以,阅读源码和编写代码是一个相反的过程。至此,看不懂源码的原因就比较明显了:源码是静态的,而运行时的程序是动态的,想通过静态的代码信息掌握

2022-05-17 16:39:32 712 1

原创 OpenGL基本运行模型

OpenGL是一种三维技术规范。我们知道三维渲染场景需要实时计算大量数据。这里我根据自己的经验总结出一句话:计算机中,对性能要求高的功能模块,其运行原理必然是简单易行的!有理由断言:OpenGL没那么难。OpenGL工作原理示意图如下图(不断改进中)简要概括OpenGL工作原理OpenGL绘制某个场景:第一步:程序放数据进缓存,数据必须是可快速独立访问的;第二步:配置数据结构,解释内存,比如VAO,VBO;第三步:并行计算(并行执行着色器shader);第四步:输出前处理(深

2022-05-16 23:10:05 302

原创 关于typedef的正确理解

我对typedef的理解一直都是认为它和#define一样,分成三个部分,比如:#define A B但是遇到以下这种函数类型定义typedef void (*funcName)(int);按照上面的理解,难道是要把void定义成(*funcName)(int)?显然不对。这个问题困扰了我很久。typedef并不是以空格为分隔符,把一句定义分隔成几个固定的部分来处理的。typedef这个预处理关键字的意思是:定义一个类型常量。也就是说,定义内容里面除了类型部分,就是常量部分,至于它们的位置,

2022-05-13 16:59:23 268

原创 【OSG】Examples

1. Examples osgbillboard这个项目很简单,就几个函数,而且很有意思。osg::Billboard类是一个控制器,不管你怎么旋转漫游场景,它始终都会朝向摄像机。看里面代码时,就会接触到osg的核心类了,比如- osg::Geometry- osg::Vec3Array- osg::StateSet- osg::Group- osgViewer::Viewer- 等等这里面的类又会引用到其他类,慢慢展开,但是大体上都是属于 OSG Core/osg 项目中的内容,也就

2022-05-12 18:57:51 4034

原创 【OSG学习】学习方法

1. 环境准备运行调试环境的准备参考我的另外一篇博客:【OSG学习】准备开发调试环境运行调试环境准备比较麻烦,但是不复杂,需要耐心。但是可能很多人会被卡在这一步,后面我会专门提供直接可以使用的完整项目,方便大家学习使用。2. 学习过程2.1 看书这里推荐一些书:《最长的一帧.pdf》《OpenSceneGraph快速入门指南.pdf》,原版 《OpenSceneGraph Quick Start Guide.pdf》《OpenSceneGraph程序设计.pdf》《OpenSceneGr

2022-05-12 16:46:01 1120

原创 【开源库学习】OpenThreads

项目地址Github:https://github.com/tibogens/OpenThreads码云:https://gitee.com/lukeson/OpenThreads参考资料网上已经有很多比较好的文章了,这里汇总一下,便于查阅。OpenThreads库介绍——ConditionOpenThreads库介绍——BarrierOpenThreads库介绍——BlockOpenThreads库介绍——ReadWriteMutexOpenThreads库介绍——Mutex..

2022-05-11 11:01:02 350

原创 数据库开发文章汇总

数据库是否应该使用外键约束?

2022-05-01 22:15:41 773

原创 【iOS开发】崩溃问题汇总

EXC_BAD_ACCESS崩溃位置:在UIApplicationMain函数内崩溃,相关函数:objc_release,场景:在界面多次切换时崩溃,可以稳定复现,环境:启用了ARC。原因可能有很多种,我的是因为:在结构体中存储了OC对象,如下struct CellData{NSString *display_text;UIColor *text_color;NSString *image_name;}然后使用了NSValue保存了结构体,把NSValue存入NSMutableArrr

2022-03-08 23:41:19 2378 1

原创 【微软官方文档】Windows终端(Windows Terminal)

https://docs.microsoft.com/zh-cn/windows/terminal/

2022-03-07 00:07:03 722

原创 Windows上快速在指定目录打开cmd.exe命令行的方法

普通方式运行->输入cmd.exe,点击确定,打开cmd.exe。在cmd.exe中输入命令cd /d 目标文件夹路径即可进入到目标文件夹路径中。快速方式1(Win7及以下版本操作系统)在资源管理器中打开目标文件夹,按住 Shift,在资源管理器文件夹中右键,弹出上下文菜单中,有在此处打开命令行的选项,直接选择即可打开。快速方式2(Win10及以上系统)同样,在资源管理器中打开目标文件夹,在地址栏中输入cmd.exe,回车即可直接打开命令行并进入到当前文件夹。如下图所示:

2022-03-06 23:29:09 5377

原创 【微软官方文档】应用程序错误处理

https://docs.microsoft.com/zh-cn/windows/win32/debugging-and-error-handling

2022-03-06 22:59:14 232

原创 windeployqt.exe的使用与避坑(windows平台)

介绍windeployqt.exe是Qt自带的工具,用于创建应用程序发布包。简单来说,这个工具可以自动地将某程序依赖的库、资源拷贝到其所在目录,防止程序在其他电脑上运行报找不到库的错误。这里贴上官方文档:https://doc.qt.io/qt-5/windows-deployment.html原理windeployqt.exe的工作原理很简单,它会到当前的环境变量PATH配置的搜索路径中,查找应用程序所需要的库。使用正确的用法:1、先从开始菜单中打开对应版本的Qt命令行界面,如下图:2

2022-03-01 22:12:46 20218 9

原创 【iOS开发】添加评分功能

问题openURL无法跳转到App store报错 :Failed to open URL itms://itunes.apple.com/us/app/apple-store/idxxxxx使用canOpenURL时,打印出了错误原因:error: “This app is not allowed to query for scheme itms”,显然是配置问题。各种问题,搞了一下午了。参考下面文章:为您的App添加应用内评分功能SKStoreProductViewController中的

2022-02-27 01:27:51 1912

Qt桌面GUI软件基础测试参考手册V0.0.1.pdf

Qt桌面GUI软件基础测试参考手册V0.0.1,测试指导说明书。

2024-04-20

teraterm-4.90.zip

目前最强大的多功能串口调试软件,最新版,不好找。

2016-03-20

第九届全国大学生电子设计竞赛获奖作品选编

第九届全国大学生电子设计竞赛获奖作品选编

2015-06-01

安卓开发环境配置的批处理

用批处理配置环境,java_home,classpath等,根据提示,轻松配置

2015-03-18

Intel汇编语言程序设计第五版 中文高清

完整的,看起来挺清晰的,学习汇编的第二部好书

2015-03-18

STM32模板工程配置工具

批处理配置STM32模板工具,基本嗾使文件复制的工作,让计算机来做可以省很多事

2015-01-10

编程高手箴言.pdf

经常看看各种书,脱离代码工的境界

2014-12-24

算法导论中文版

算法导论中文版

2014-12-24

计算机网络入门实用教程

外国人写的,书本读起来很流畅,初中级入门,比较结合实际

2014-12-13

批处理标准教程.pdf

批处理入门教程的书,很清晰,这本书入门完全够了

2014-11-30

汇编入门教程chm

图文简单明了,绝对推荐,有十二章,帮助你了解cpu工作原理

2014-11-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除