自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 收藏
  • 关注

原创 三维建模仿真开发合集

最近开始实习了,准备开一个新坑,记录三维建模仿真的学习。

2025-04-08 14:08:07 116

原创 程序员的杂谈合集

程序员的思考

2025-03-11 10:39:35 270

原创 “深入浅出”系列:如何入门C/C++编程

本文主要围绕C/C++展开来写一些编程知识。

2025-02-26 22:21:46 2633

原创 Python合集

本文主要是我在学习python编程过程中所作的笔记,以及在做毕设时的笔记。

2025-02-14 22:11:16 1021 1

原创 计算机专业秋招、春招笔面试记录

本文主要是本人在春秋招时所获取到的信息以及面经,仅供参考,如有雷同请联系本人说明情况

2025-02-08 12:08:07 276

原创 OpenGL屏幕成像和渲染原理解析

视觉暂留:人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。以前总觉得图形的变换总是在第一帧的基础上进行是费时费力的,如果在上一帧的基础上变换岂不是更省事,理解了屏幕成像和渲染原理之后对这个问题,或者说对图形学才有了初步的理解。撕裂是由于CPU或GPU耗时过⻓而产生的,iOS解决的方式是引入垂直同步Vsync + 双缓冲的机制,而解决撕裂是以掉帧作为代价的,掉帧不能完全被解决。

2025-06-10 21:50:35 856

原创 交叉编译笔记

不过幸运的是,主流开发板厂商(如友善之臂)通常会提供预编译好的工具链,只需按照官方手册配置,即可大幅降低入门门槛。32位编译器建议在32位系统中使用,虽可通过安装依赖在64位系统运行,但可能引发兼容性问题。,例如在x86架构的Linux主机上编译适用于ARM架构开发板的程序。官方文档永远是第一手资料,其次可参考CSDN等技术社区(如Qt编译参数详解)。使用CMake配置Qt6源码,指定交叉编译器路径,生成构建文件后运行。64位编译器仅支持64位系统,需确保主机与工具链位数匹配。

2025-06-10 21:49:00 779

原创 VSCode配置C/C++环境

4.在.vscode文件夹的目录里新建一个项目文件夹。编写好后就可以编译运行了。

2025-05-22 14:55:26 221

原创 Qt如何打包程序为exe文件

Qt单独提取用的是Qt 5.12.9 (MinGW 7.3.0 64-bit)命令行输入: windeployqt.exe 文件名.exe。

2025-05-17 17:58:37 141

原创 “深入浅出”系列之QT:(12)如何使用线程池

【代码】“深入浅出”系列之QT:(12)如何使用线程池。

2025-05-11 20:30:51 112

原创 C++中的main函数

还记得你写的第一个C++程序吗?老师告诉你:"程序从 main 函数开始执行"。然后你就这么相信了,一路写代码写到现在。但事实真的如此吗?如果你仔细思考,一定会冒出许多疑问:谁负责调用 main 函数?在 main 执行前,系统到底做了什么?为什么 main 前面的全局变量已经初始化好了?main 函数返回后又发生了什么?今天,我们就来一起掀开这神秘的黑箱,看看C++程序启动的真相!

2025-05-04 19:37:38 975

原创 到什么程度才叫精通 Linux?

除此之外,容器化部署时,你要能说清 Docker 和 Podman 的本质区别(前者依赖 Docker daemon,后者用 rootless 模式更安全),知道 cgroups v1 和 v2 的差异(比如 v2 支持统一的资源配额),甚至能自己写一个极简容器(用 unshare 隔离命名空间,用 chroot 限制文件系统根目录)。但现实是,Linux 内核每年新增 millions 行代码,每个子系统,比如说内存、网络、文件系统,每个单独拿出来,都够你深挖一辈子。

2025-05-04 19:31:35 694

原创 C++库:LibSourcey

LibSourcey 是一个开源的 C++ 模块集合,基于 C++11 及更新标准构建。它采用模块化设计,将众多实用功能封装成独立模块,如网络通信、媒体处理、多线程支持等。这种设计让开发者能按需引入所需模块,减少项目冗余。它支持跨平台运行,在 Windows、Linux、macOS、iOS 和 Android 等主流系统上表现良好。这意味着无论你是在开发桌面应用、移动应用,还是嵌入式系统中的 C++ 项目,LibSourcey 都能成为得力助手。

2025-05-04 19:26:29 293

原创 高频交易系统C++常用库

最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。源代码相当精炼、易读;OpenSSL是目前主流的基于密码学的安全开发包,提供的功能相当强大和全面,包括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。gmock允许开发者定义模拟对象的行为,例如调用哪些方法,以什么顺序,调用多少次,传哪些参数,返回什么样的值等等。

2025-05-04 19:25:58 338

原创 C++多线程之mutex

但凡接触过cpp的,或多或少对std::mutex有所了解。随着项目越来越大,性能要求越来越高,处理并发和并行变得越来越重要,这也意味着我们需要更强大的机制来管理多线程环境。std::mutex 是 C++ 标准库中一种常用的同步工具,能够确保同一时刻只有一个线程能访问某个资源,从而避免数据竞争,保证线程安全。借助本文,我们聊聊如何用std::mutex编写高效、安全的代码。

2025-05-04 19:24:57 895

原创 我的Qt学习路线

5、学习新技术和扩展知识 :关注 Qt 的最新发展和技术趋势,学习新的模块和功能,如 Qt Quick 3D、Qt AI 等;4、项目实战 :参与实际的 Qt 项目开发,如即时通讯工具、音乐播放器、办公软件等,积累项目经验,提高解决问题的能力。参与开源项目和社区贡献 :参与 Qt 的开源项目,与其他开发者交流和合作,学习他人的经验和技巧,同时为开源社区做出贡献,提升自己的知名度和影响力。研究 Qt 源码 :深入研究 Qt 的源码,了解框架的内部实现原理,提高自己的编程水平和对 Qt 的理解和掌控能力。

2025-05-04 19:24:08 376

原创 CNN代码详细注释

【代码】CNN代码详细注释。

2025-04-29 16:33:22 280

原创 每日Bug:(2)共享内存

对于整个系统而言,主存与CPU的资源都是有限的,随着打开进程数量的增加,若是将所有进程运行所需的代码/数据/栈/共享库都存放在主存中,那么开启一部分进程就可以将主存占用完。虚拟内存就是解决以上问题的方法,使用虚拟内存不用将进程全部内容加载到主存上(局部性立了大功——进程在某段时间只需要用到部分代码及其数据),虚拟内存与主存通过不断的数据交换,只需要占用满足程序运行最小空间的内存即可完成程序运行。不光如此,虚拟内存为程序分配同样的空间便于管理(意味着进程自认为占用了整个内存)。

2025-04-28 14:46:47 815 2

原创 PCL点云库:Point Cloud Library

PCL

2025-04-16 20:32:39 1090

原创 C++的库

c/c++的项目也是各种各样的都有,微电子,物联网,桌面客户端,游戏,服务器开发等等。开源框架种类繁多,有哪些值得推荐的c/c++开源框架与库?总结了一下:

2025-04-16 20:31:18 812

原创 VTK:(3)基础

参与渲染流程:作为渲染管道的一部分,vtkActor将包含vtkMapper映射后的数据,并通过vtkRenderer最终渲染到vtkRenderWindow中。它是VTK提供的一种简单的几何体生成器之一,用于在可视化和计算流程中创建基本的圆锥形状。定义可视化属性:vtkActor可以设置和控制渲染时的可视化属性,如颜色、透明度、光照等。它配备了最先进的3D渲染工具,一套用于3D交互的小部件,以及广泛的2D绘图功能。简单来书通过它控制,我们看到的背景,比如下图中的背景是黑色的。

2025-04-16 20:29:50 400

原创 OSG:(3)渲染cow

【代码】OSG:(3)渲染自带的牛cow。

2025-04-11 10:32:57 107

原创 OSG:(2)渲染glider

【代码】OSG:(2)渲染自带的滑翔机glider。

2025-04-11 10:32:09 444

原创 OSG:(1)渲染正方体

渲染一个正方体。

2025-04-11 10:21:23 339

原创 VTK:(2)渲染一个球体

在QT里渲染一个球体。

2025-04-11 10:08:14 315

原创 VTK:(1)用QT渲染一个支持旋转的正方体

【代码】VTK:(1)用QT渲染一个支持旋转的正方体。

2025-04-11 09:52:04 116

原创 OpenGL:(1)QT绘制一个可拖动和旋转的三角形

程序里的三角形可以根据鼠标移动,滚轮实现旋转。

2025-04-08 14:24:26 350

原创 “深入浅出”系列之C++:Git

当我们想要合并的两个分支的同一文件中的同一行代码上有不同的修改,或者一个分支删除了一个文件而另一个分支修改了这个文件时,Git 就不知道如何取舍了。对一个提交执行 cherry-pick 时,我们会在活动分支上创建一个新的提交,其中包含由拣选出来的提交所引入的修改。如果我们在当前分支上提交我们想要合并的分支不具备的改变,那么 git 将会执行 no-fast-forward 合并。如果你有一个远程 Git 分支,比如在 GitHub 上的分支,当远程分支上包含当前分支没有的提交时,可以使用取回。

2025-04-06 12:44:50 451

原创 杂谈篇:(9)C++ 的两个派系之争

这段话引发了我的强烈共鸣,原因是我曾亲眼见证了一个庞大的 C++ 代码库,在历经数十年的开发过程中,如何从“传统”逐步过渡到“现代”C++。事实上,在 90 年代,流行的 C++ 库在开发时普遍注重安全性,并广泛采用了运行时检查来确保代码的正确执行。但与此同时,在 C++ 的发展道路上也面临着一系列阻碍,包括美国政府机构(网络安全与基础设施安全局(CISA)、美国国家安全局(NSA)以及白宫)希望人们停止使用 C++,美国政府各个部门均已发布文件、报告和建议,警告技术行业不要使用内存不安全的语言。

2025-04-06 12:43:22 486

原创 每日Bug:(1)Qt启动程序失败,路径或者权限错误?

解决方法:成功:

2025-04-02 17:42:38 385

原创 “深入浅出”系列之C++:微服务与分布式系统设计

分布式系统

2025-03-30 11:50:55 339

原创 “深入浅出”系列之Linux篇:(17)一个C++构建实例

C++构建

2025-03-30 10:54:43 743

原创 “深入浅出”系列之Linux篇:(18)GDB

GDB,全称 GNU Debugger,是 GNU 开源组织发布的一款功能强大的程序调试工具。自 1986 年由理查德・斯托曼(Richard Stallman)编写以来,它不断发展和完善,如今已成为 Linux 系统下调试程序的首选工具 ,在整个 Linux 生态系统中占据着举足轻重的地位。它就像是一位经验丰富的侦探,深入程序的 “案发现场”,帮助开发者们找到隐藏在代码中的 “罪犯”——Bug。

2025-03-30 10:53:50 759

原创 “深入浅出”系列之C++:多态

多态

2025-03-30 10:53:13 572

原创 “深入浅出”系列之Linux篇:(19)线程

线程

2025-03-30 10:52:18 1040

原创 “深入浅出”系列之Linux篇:(20)进程间通信

Linux 进程间通信(Inter-Process Communication,IPC)是指在多道程序环境下,进程间进行数据交换和信息传递的一种机制或方法。在现代操作系统中,进程是系统资源分配的基本单位,不同进程之间需要相互合作和通信,才能完成各种任务。进程间通信是实现进程间协作的重要手段。进程间通信在 Linux 系统中至关重要。每个进程在 Linux 环境下都有独立的用户地址空间,一般情况下,进程间的进程空间不能相互访问。但在很多实际应用场景中,进程与进程之间需要进行通信,以共同完成特定的功能需求。

2025-03-30 10:51:42 1144

原创 “深入浅出”系列之C++:栈回溯(Stack Unwinding)

栈回溯是指当异常发生时,C++ 运行时系统从异常抛出的点开始,沿着调用栈逆向遍历,逐个销毁已经构造完成的对象,直到找到匹配的catch块或终止程序。C++ 栈回溯(Stack Unwinding)是异常处理的核心机制,它确保异常发生时正确释放资源,从而防止资源泄漏。理解栈回溯的原理有助于编写更加健壮且异常安全的 C++ 代码。通过 RAII、智能指针和标准库容器等工具,开发者可以更好地管理资源,减少异常带来的风险。

2025-03-30 10:45:12 371

原创 “深入浅出”系列之C++:异常

在 C++ 语言中,异常(Exception)是一种用于处理运行时错误的机制。然而,在一些高性能或嵌入式开发环境中,部分公司明确禁止使用 C++ 异常机制。那么,为什么会出现这种情况呢?本文将试图探讨背后的原因,并分析其优缺点。

2025-03-30 10:43:55 617

原创 “深入浅出”系列之C++:C++11内存模型

在多线程编程的复杂领域中,C++11 内存模型犹如一座灯塔,为开发者指引着正确的方向。它的重要性不言而喻,是编写高效、正确的多线程 C++ 程序的基石。在 C++11 标准发布之前,C++ 语言对于多线程编程的支持相对薄弱,开发者往往需要借助第三方库或平台特定的 API 来实现多线程功能。这不仅增加了代码的复杂性和维护成本,还难以保证程序在不同平台上的一致性和可移植性。C++11 的出现,为多线程编程带来了重大变革。它引入了一系列新的特性和工具,其中内存模型的改进尤为关键。

2025-03-30 10:37:50 740

原创 “深入浅出”系列之C++:Lambda表达式

std::bind。

2025-03-29 22:54:03 577

空空如也

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

TA关注的人

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