自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(260)
  • 资源 (5)
  • 问答 (9)
  • 收藏
  • 关注

原创 Qt技巧--添加C++11支持

Qt技巧--添加C++11支持

2022-11-10 07:01:12 1219

原创 Qt源码分析--QObject(4)

解析了QObject类的disconnect、dumpObjectInfo、dumpObjectTree等函数。

2022-07-28 15:43:38 842

原创 Python捕获try...except没抓到的异常

今天在修复项目的一个bug。bug是在点击某个Menu项时,程序会崩溃退出。然后,我就用try...except结构试图捕获异常。代码类似于这样:但是,程序并没有输出catch exception.这一句,还是崩溃退出时。最后,用了以下方法,捕获到程序出错时的调用堆栈。......

2022-07-14 14:02:59 1446

原创 Qt源码分析--QObject(3)

介绍了QObject的connect函数(形式2)

2022-07-01 13:12:41 171

原创 C# 日志按月按日保存

C# 日志按月按日保存

2024-03-27 12:28:42 129

原创 C# ini文件读写封装类

C# ini文件读写封装类

2024-03-12 10:44:33 147 1

原创 C#上位机调试经验

C#上位机调试经验

2024-03-02 08:27:22 512 1

原创 C#程序反编译经验总结

C#程序反编译经验总结

2024-02-20 15:37:43 561

原创 Linux Screen常用操作

screen -S yourname -> 新建一个叫yourname的session。在Screen终端下, 按Ctrl+a d键。

2024-02-04 09:10:54 132

原创 手动下载COCO2014,VOC2007,VOC2012数据集

手动下载COCO2014,VOC2007,VOC2012数据集

2024-02-02 14:00:03 145

原创 用C#实现实时动态图表

工业控制中,经常需要显示实时数据的图表。下面的Demo演示随时间变化的正弦曲线。

2024-01-31 13:21:07 351 1

原创 两台电脑用网线直连ping不通的解决方法

首先,排除是否是网线本身的问题。

2024-01-28 17:54:33 372

原创 介绍一个.Net反混淆工具

de4dot是目前最主流的反混淆工具,它使用dnlib来读取和写入程序集可解密以下工具混淆过的.NET代码,如 Xenocode、.NET Reactor、MaxtoCode、Eazfuscator.NET、Agile.NET、CodeWall、Mpress .NET Packer、Rummage Obfuscator、Babel.NET、CodeFort、CryptoObfuscator、DeepSea Obfuscator、Dotfuscator、 Goliath.NET、ILProtector、Sma

2024-01-25 08:55:04 412

原创 Halcon对DM码傻瓜式解码

步骤:通过训练直接对DM码解码,之后可以用得到的训练参数对DM码解码。

2024-01-23 08:17:32 437

原创 介绍一个强大的免费开源.net反编译工具

dnSpy 是一个用C#开发,开源的调试器和.NET 汇编编辑器。即使您没有任何可用的源代码,也可以使用它来编辑和调试程序,并可以把代码导出成.net工程。

2024-01-17 08:13:32 495

原创 一个实用的Wrapper类,解决mfc使用sqlite3时的中文乱码问题

给大伙介绍一个实用的Wrapper类,面向对象,接口清晰,使用方便,再也不怕中文乱码问题了!

2023-12-29 20:09:59 391

原创 Arm汇编在线仿真及编辑器

可以支持多个不同Arm硬件的在线编辑器。支持单步调试、设置断点。

2023-12-21 18:21:18 201

原创 详解Qml的底层实现

QML的场景图是一个高效的图形渲染框架,它通过利用现代图形硬件加速,提供了高效和流畅的用户界面渲染能力。它的设计使得开发者可以专注于创造吸引人的用户界面,而无需担心底层的图形处理细节。QML的底层实现是一种高效且复杂的体系,它结合了现代的用户界面设计理念和Qt强大的后端功能。QML的设计使得开发者能够创建流畅、富有表现力的用户界面,同时保持与底层C++代码的良好集成,以实现复杂的应用逻辑。

2023-12-21 17:42:24 183

原创 详解Qt的底层实现机制

这些底层机制的深入理解有助于更好地利用Qt的强大功能,并编写高效、可维护的应用程序。对于更详细的技术细节,建议参阅Qt的官方文档以及相关的技术书籍。接下来,对Qt的元对象系统进行详细阐述。

2023-12-21 17:23:02 812

原创 用代码写uml并在线生成uml图

可以用PlantUml写uml,并在线生成uml图。用这个在线编辑器,支持中文。

2023-12-16 20:23:15 408

原创 判断Access中指定表是否存在

【代码】判断Access中指定表是否存在。

2023-12-05 19:50:22 145

原创 转换yolov3数据到yolov5

前几天,我想把labelimg标注的数据集用到colab的juperbook上。找到一个工具,挺方便。

2023-12-04 15:39:18 78

原创 Qt中对Udp数据打包发送和接收(续)

这次用一个更加复杂的数据包举例。

2023-12-02 17:53:37 397

原创 用mediastore api下载视频到手机

用mediastore api不需要MANAGE_EXTERNAL_STORAGE权限。下面的代码演示下载视频文件到手机中的Download目录。

2023-12-02 17:42:45 121

原创 pip install 使用清华镜像源

pip install 使用清华镜像源。

2023-11-26 17:10:33 1107 1

原创 嵌入式Linux开发面试题和答案

熟练的编程语言:对嵌入式Linux的理解:操作系统经验:中断处理:C语言中的静态变量:嵌入式Linux的具体内容:硬件和通信

2023-11-21 10:09:52 257

原创 在PyQt中执行Linux命令并将结果显示

【代码】在PyQt中执行Linux命令并将结果显示。

2023-11-14 21:11:58 172

原创 深入解析一下c++11中的右值引用和STL中的std::move

C++11引入了右值引用(Rvalue references)作为一项重要的语言特性,它在C++语言中引入了新的语义,为移动语义和完美转发等高级编程技术提供了基础。理解右值引用的概念对于有效地使用现代C++非常重要。&&移动语义: 右值引用最重要的用途之一是实现移动语义。传统的拷贝构造函数(Copy Constructor)会创建一个新对象并拷贝另一个对象的内容,这在处理大型数据结构时可能会很昂贵。右值引用允许我们将资源从一个对象"窃取"(steal),而不是拷贝,以提高性能。

2023-11-11 13:56:29 90

原创 Qt中对Udp数据打包发送和接收

比如我们要发送一个Person的数据。可以先用一个结构把Person的数据封装。有些小伙伴对怎么对Udp的数据打包不太清楚。下面是udp客户端和服务器端完整的代码例子。

2023-11-10 17:47:29 1956

原创 Qt读取xml文件并把内容显示到QTableview上

xml文件名作为函数参数,把不同的xml文件名传入函数,会显示不同的文件内容。本例子中把xml文件作为数据库表。

2023-11-08 20:38:22 457 4

原创 Qt对Opengl的支持情况

Qt提供了对OpenGL的广泛支持,这对于开发需要复杂图形处理的机器视觉软件尤为重要。以下是Qt对OpenGL支持的一些关键方面

2023-11-06 22:25:53 650

原创 Godot4实现游戏的多语言版本

要在Godot 4中实现多语言版本的游戏,您需要按照以下几个步骤来设置和管理游戏文本以及可能的其他资源,如图像或声音。以下是根据官方文档和详细教程整理的简明指南

2023-11-06 14:56:47 370

原创 godot4实现一个单例类,作为公共数据共享类

转到 "Project" > "Project Settings" > "AutoLoad",并添加你刚刚创建的脚本。为它提供一个名称(例如 "GlobalData"),并指定脚本的路径。1. 创建一个新的 GDScript 文件,例如 `GlobalData.gd`,并在其中定义你想要共享的变量和函数。在 Godot 4 中,你可以通过创建一个自动加载的脚本来实现单例类,用于作为公共的数据总线。现在,你可以在项目的任何地方通过 `GlobalData` 单例访问这些公共数据和函数。

2023-11-05 18:48:57 229

原创 Linux内核VFS详解

它允许用户空间和内核空间的各个部分以一种一致的方式访问不同类型的文件系统,包括磁盘文件系统(如EXT4、XFS、NTFS)、网络文件系统(如NFS、CIFS)、虚拟文件系统(如/proc和/sys),以及其他文件系统,使它们在用户和应用程序的角度看起来都像是标准文件和目录。Linux内核的VFS(Virtual File System)抽象层并不直接与实际硬件关联起来,而是提供了一个通用的文件系统接口,使不同类型的文件系统能够以一致的方式与用户空间和内核交互。这些操作可以适用于任何支持VFS的文件系统。

2023-10-25 06:24:37 424

原创 Linux内核中断系统的底层原理

总之,Linux内核中断系统的底层原理涉及硬件中断的产生、中断描述符表的使用、中断处理程序的编写和执行,中断控制器的管理,以及上下文切换。Linux内核中断系统是操作系统的一个关键组成部分,它用于处理来自硬件设备的中断信号,以及软件产生的异常。- 处理中断时,内核会执行上下文切换,将当前进程的执行状态保存起来,并加载中断处理程序的执行环境。- 中断处理程序是由内核编写的函数,用于处理特定类型的中断。- 内核以一定的优先级顺序处理中断,通常高优先级中断会在低优先级中断之前得到处理。

2023-10-25 06:09:19 77

原创 Linux内核的基本工作原理和关键概念

Linux内核的工作原理可以总结为一个不断循环的过程,不断监听硬件事件、处理系统调用和中断、管理进程和资源。它提供了通用的抽象层,使得开发者可以编写硬件无关的代码,并将其移植到不同的体系结构上。- Linux内核允许动态加载和卸载模块,这使得新功能和设备驱动可以在不重新编译内核的情况下添加到系统中。Linux内核是操作系统的核心部分,负责管理系统的硬件资源、文件系统、进程管理、内存管理和设备驱动等功能。每个进程都有一个唯一的进程ID(PID)和地址空间,内核管理进程之间的资源分配、通信和调度。

2023-10-25 05:42:50 376

转载 gdb 如何查看堆栈信息和寄存器信息?

查看堆栈信息 bt:查看当前函数调用栈,即当前函数调用的上一层函数以及它们的调用栈信息。info registers reg:查看指定寄存器reg的值,如info registers。print /x $reg:以16进制格式查看指定寄存器reg的值,如print /x $rax。set $reg =info frame:查看当前堆栈帧的信息,包括函数名、参数、返回地址等。info locals:查看当前函数的局部变量信息。以上是常用的GDB命令,可以通过这些命令查看堆栈信息和寄存器信息,方便调试程序。

2023-10-25 05:17:52 625

原创 BootLoader为什么要分阶段?

跨硬件平台的支持:不同的计算机架构和硬件平台可能需要不同的引导过程,因此分阶段的设计允许为不同的硬件平台创建不同的引导加载程序。BootLoader(引导加载程序)分阶段的设计主要是为了实现系统的启动和引导过程的可靠性、可维护性和灵活性。这种分阶段的设计允许引导加载程序执行不同的任务,并在不同的环境下工作。2. 装载和初始化:第一阶段的BootLoader通常是在计算机上电后首先执行的,它负责硬件初始化、加载第二阶段BootLoader或操作系统内核到内存中,从而为接下来的引导过程创建必要的条件。

2023-10-25 04:25:44 394

原创 怎么降低Linux内核驱动开发的风险?

通过遵循最佳实践、深入学习内核、全面测试和积极与社区合作,你可以降低风险,并确保你的驱动程序在Linux系统上运行稳定和安全。1. 深入了解Linux内核:在开始内核驱动开发之前,建议深入学习Linux内核的工作原理和架构,包括内核模块、设备模型、调度机制等。降低Linux内核驱动开发的风险是一个重要的目标,因为内核驱动开发可能会对系统的稳定性和安全性产生重要影响。3. 遵循最佳实践:遵循内核驱动开发的最佳实践和规范,例如编写干净、模块化的代码,遵守内核编程约定,使用适当的API等。

2023-10-25 04:22:39 638 1

原创 Linux内核驱动开发的需要掌握的知识点

总之,Linux内核驱动开发需要广泛的知识,包括Linux内核、C编程、硬件设备和内核模块编程。这包括Linux内核的体系结构、模块系统、进程管理、内存管理等方面的知识。同时,了解内核特定的C扩展,如内核头文件、数据结构和宏,也是必要的。了解Linux内核的系统调用和内核API是至关重要的,因为你的驱动程序需要与内核进行交互。Linux提供了设备驱动程序框架,包括字符设备、块设备和网络设备等。Linux社区提供了大量的资源,包括邮件列表、论坛和文档,可供参考和求助。参与社区可以帮助你获得有用的反馈和支持。

2023-10-24 18:01:29 515

SEH异常捕获类,生成dump文件

捕获C++程序中的SEH异常,生成程序崩溃时的dump文件。dump文件可用于程序release版本的崩溃定位。

2018-07-08

C++单元测试框架,只需一个头文件

C++单元测试框架,只需一个头文件。 Catch v1.12.2

2018-07-08

21天学通C++(第8版)源代码

21天学通C++(第8版)源代码,好不容易找到的,需要的朋友敬请下载!

2018-05-23

minidump_stackwalk 执行档

breakpad中解析dump文件的工具! 通过dump_syms将pdb转换为sym文件后,在使用minidump_stackwalk来进行分析 minidump_stackwalk minidump.dmp ./symbols 该程序在linux下运行, ubuntu 16.04下测试通过 可以解析qt mingw版本编译程序生成的dump文件。

2018-03-13

合并多个sql文件

合并多个sql文件,支持utf-8格式。 运行需要.net framwork 2.0环境。 合并后sql文件名为full_db.sql

2015-05-10

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

TA关注的人

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