- 博客(142)
- 收藏
- 关注
原创 Qt中的clicked 和 triggered 信号
clicked信号主要用于按钮类控件,与用户的点击操作紧密相关。triggered信号主要用于QAction,适用于菜单项和工具栏项,触发方式更加多样化。
2025-03-05 17:11:17
354
原创 Qt 中的addWidget 布局类
在 Qt 里,addWidget是布局类(如等)用于添加窗口部件的重要方法,不同布局类的addWidget。
2025-03-03 15:16:13
408
原创 C++ 中的explicit关键字
explicit关键字的主要作用是避免意外的隐式类型转换,提高代码的安全性和可读性。当你不希望构造函数被用于隐式类型转换时,应该使用explicit修饰构造函数。
2025-02-21 11:04:25
158
原创 Qt 中的QMainWindow、QWidget 和 QDialog 基类
在 Qt 中,QMainWindow、QWidget 和 QDialog 都是非常重要的基类,它们在 GUI 开发中有着不同的用途和特点
2025-02-20 14:31:34
437
原创 C++ 中的抽象基类(Abstract Base Class,ABC)
在 C++ 中,抽象基类(Abstract Base Class,ABC)是一种特殊的类,它主要用于作为其他类的基类,提供一个公共的接口。抽象基类不能被实例化,也就是不能创建抽象基类的对象,它的主要作用是为派生类定义一个统一的接口规范,派生类需要实现这些接口。
2025-02-20 10:12:49
425
原创 面向对象设计中的五大SOLID原则
面向对象设计中的五大SOLID原则是指导软件设计和开发的重要原则,旨在提高代码的可维护性、可扩展性和可复用性。
2025-02-19 15:08:16
833
原创 C++中的依赖倒置原则(Dependency Inversion Principle, DIP)
依赖倒置原则(Dependency Inversion Principle, DIP)是面向对象设计中的五大SOLID原则之一。它强调高层模块不应依赖于低层模块,二者都应依赖于抽象。抽象不应依赖于细节,细节应依赖于抽象。在C++中,依赖倒置原则可以通过接口(抽象类)和依赖注入等技术来实现。
2025-02-19 14:59:18
415
原创 C++ 中的赋值兼容性
在 C++ 中,赋值兼容性是指在不同类型的对象之间进行赋值操作时所遵循的规则。它主要涉及到基类和派生类对象之间的赋值关系,下面从几个方面详细介绍 C++ 的赋值兼容性:
2025-02-18 17:21:50
259
原创 C++ 中的多态
在 C++ 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态性可以增强代码的可扩展性和可维护性。C++ 中的多态主要分为静态多态(编译时多态)和动态多态(运行时多态)
2025-02-18 16:40:33
552
原创 C++ 中构造器及派生类对象的初始化顺序
在 C++ 中,构造器(构造函数)本身不能被继承,但派生类的构造过程涉及基类构造器的调用。下面详细介绍构造器相关情况以及派生类对象的初始化顺序。
2025-02-17 15:01:38
456
原创 C++ 中的public、private 和 protected
在 C++ 里,public、private 和 protected 是用于控制类成员(属性和方法)访问权限的访问修饰符。合理使用这些访问修饰符能实现数据封装和信息隐藏,增强代码的安全性和可维护性。下面详细介绍它们的特性和用法。
2025-02-17 10:50:45
378
原创 C++ 中的继承与派生
在 C++ 中,继承与派生是面向对象编程的重要特性,它们允许创建新类(派生类)来复用现有类(基类)的属性和方法,同时还能添加新的功能或修改现有功能,下面为你详细介绍。
2025-02-14 17:30:08
417
原创 在 C++ 中的运算符重载
在 C++ 中,运算符重载允许程序员为自定义类型(如类和结构体)重新定义运算符的行为,使得这些运算符可以用于自定义类型的对象。这样可以让代码更加直观和自然。下面从基本概念、语法、注意事项以及示例几个方面详细介绍 C++ 运算符重载。
2025-02-13 09:55:26
259
原创 C++中的拷贝构造器(Copy Constructor)
在 C++ 中,拷贝构造器(Copy Constructor)是一种特殊的构造函数,用于创建一个新对象,该对象是另一个同类型对象的副本。当使用一个已存在的对象来初始化一个新对象时,拷贝构造器会被调用。
2025-02-02 17:02:37
289
原创 C++中的析构器(Destructor)(也称为析构函数)
在C++中,析构器(Destructor)也称为析构函数,它是一种特殊的成员函数,用于在对象销毁时进行资源清理工作。
2025-02-01 21:28:23
994
原创 C++中的构造器(Constructor)(也称为构造函数)
在C++中,构造器(Constructor)也称为构造函数,它是一种特殊的成员函数,用于在创建对象时初始化对象的数据成员。
2025-02-01 16:39:24
619
原创 C++ 中的类(class)和对象(object)
在 C++ 中,类(class)和对象(object)是面向对象编程(OOP)的核心概念。类是一种用户自定义的数据类型,它将数据(成员变量)和操作这些数据的函数(成员函数)封装在一起。对象则是类的实例,通过创建对象可以使用类中定义的成员变量和成员函数。下面详细介绍 C++ 中类和对象的相关知识。
2025-01-31 17:41:24
525
原创 C++ 中的引用(Reference)
在 C++ 中,引用(Reference)是一种特殊的变量类型,它提供了一个已存在变量的别名。引用在很多场景下都非常有用,比如函数参数传递、返回值等。下面将详细介绍 C++ 引用的相关知识。
2025-01-31 17:13:23
487
原创 Linux内核中的jiffies
jiffies是一个全局变量,类型通常是,用于记录自系统启动以来产生的时钟滴答(tick)数。每发生一次时钟中断,jiffies的值就会增加。可以将其理解为Linux内核用来衡量时间的一种计数器。
2025-01-10 17:06:09
353
原创 OBD2(On-Board Diagnostics II)(第二代车载诊断系统)
OBD2,即On-Board Diagnostics II(第二代车载诊断系统)。
2025-01-08 15:02:57
896
原创 道路车辆——统一诊断服务(UDS)(ISO14229)
ISO 14229是国际标准化组织(ISO)制定的关于道路车辆诊断通信的标准,全称为《道路车辆——统一诊断服务(UDS)》,以下是其详细介绍:
2025-01-08 14:22:26
306
原创 pcap_loop()函数是阻塞调用吗
【代码】pcap_loop()函数是阻塞调用吗。当pcap_loop()函数开始执行时,它会一直等待符合条件的网络数据包到来。如果设置的cnt(要捕获的数据包数量)为一个正数,它会阻塞直到捕获到指定数量的数据包;如果cnt为-1,它会一直阻塞,持续捕获数据包,直到出现错误或者被手动停止(比如通过在另一个线程中发送信号来停止它)。
2024-11-29 17:32:39
429
原创 Linux中pcap_loop()函数
【代码】Linux中pcap_loop()函数。pcap_loop()函数是在Linux系统下用于数据包捕获的函数。它属于libpcap库,这个库提供了一种与系统无关的方式来捕获网络数据包。pcap_loop()函数允许用户指定一个回调函数,当捕获到满足条件的数据包时,就会调用这个回调函数来处理数据包,从而实现对网络流量的实时监控和分析。
2024-11-29 16:48:28
883
原创 pthread_setschedparam()函数
【代码】pthread_setschedparam()函数。pthread_setschedparam()函数是用于设置线程调度参数的函数。在多线程编程环境中,特别是在需要对线程的执行顺序、优先级和时间片等进行精细控制的情况下,这个函数起着关键作用。它可以帮助程序员根据应用程序的具体需求来调整线程的调度策略和优先级,从而优化程序的性能和响应特性。
2024-11-29 15:17:35
1099
原创 pthread_setaffinity_np()函数
【代码】pthread_setaffinity_np()函数。pthread_setaffinity_np()函数是一个在多线程编程中用于设置线程亲和性(Thread Affinity)的函数。它允许程序员将一个线程绑定到特定的 CPU 核心(或核心集合)上运行,这在优化多线程程序性能、提高缓存利用率以及确保特定线程在特定硬件资源上运行等方面非常有用。简单来说,这个函数就像是一个调度员,它可以指定某个线程在哪个(些)CPU “工作岗位” 上干活。
2024-11-29 14:11:27
1482
原创 gnome-terminal-server与bash的关系
命令执行:bash(Bourne - Again SHell)是一种广泛使用的命令行解释器。当gnome - terminal - server创建的终端窗口接收到用户输入的命令时,这些命令通常是由bash来进行解释和执行的。例如,用户在gnome - terminal(由gnome - terminal - server管理)中输入ls -l命令,gnome - terminal - server会将这个命令请求传递给bash,bash会解析这个命令,然后调用系统的相关库函数来获取文件列表并以长
2024-11-28 15:26:32
546
原创 gnome - terminal - server
GNOME终端是GNOME桌面环境下广泛使用的终端模拟器。gnome - terminal - server在这个体系中扮演着重要的角色。它主要负责管理终端窗口的创建、销毁以及与其他相关组件(如终端模拟器的客户端部分)的通信等任务。 例如,当用户在GNOME桌面环境中打开多个终端窗口时,gnome - terminal - server会协调这些窗口的资源分配,包括内存、进程等方面的管理。它使得这些终端窗口能够独立运行,同时又能共享一些系统资源和配置信息。
2024-11-28 15:25:50
506
原创 GNOME(GNU Network Object Model Environment)
GNOME(GNU Network Object Model Environment)是一种广泛使用的桌面环境。它是一个自由软件项目,旨在为操作系统提供一个直观、易用且功能强大的图形用户界面(GUI)。GNOME主要运行在类UNIX操作系统上,如Linux,并且在许多Linux发行版中是默认的桌面环境选择,像Ubuntu、Fedora等。
2024-11-28 15:25:00
695
原创 Linux程序后台运行时,为什么程序调用printf函数还能将内容打印到打开的终端上
【代码】Linux程序后台运行时,为什么程序调用printf函数还能将内容打印到打开的终端上。在 Linux(以及许多类 UNIX 系统)中,程序的标准输出(stdout)默认是连接到终端的。当一个程序启动时,无论是在前台还是后台运行,它的标准输出设备通常会继承启动它的终端的输出设置。所以,即使程序在后台运行,它的printf函数(printf函数用于将格式化后的字符串输出到标准输出)仍然会将内容发送到终端,这是因为程序没有对标准输出进行重定向
2024-11-26 17:10:12
556
原创 锂电池的充电电路,之前设计的是大容量的锂电池,现在更换为标称电压一致,但是容量变小的锂电池,是否可以进行安全充电
综上所述,将大容量锂电池更换为标称电压一致但容量较小的锂电池后,不能简单地判断是否可以安全充电。如果充电电路的充电电流能够控制在小容量电池允许的范围内,并且充电控制和安全保护功能能够适应小容量电池的特性,那么可以进行安全充电;否则,可能会存在电池过热、过充等安全隐患。
2024-11-25 11:29:38
260
原创 锂电池的充电电路,之前设计的是小容量的锂电池,现在更换为标称电压一致,但是容量变大的锂电池,是否可以进行安全充电
综上所述,仅标称电压一致,在容量变大的情况下,如果充电电流合适、充电电路有足够的应对电池特性变化的措施和完善的安全保护功能,是可以进行安全充电的;否则,可能会存在安全风险和充电效率等问题。
2024-11-25 11:29:01
480
原创 锂电池充电阶段主要分为恒流和恒压模式,为什么不一直用恒流模式将其充满
锂电池充电过程分为恒流充电和恒压充电两个阶段,不能一直使用恒流模式将其充满主要有以下原因:一、电池极化现象的影响二、能量效率和安全性考虑
2024-11-25 11:13:24
2047
原创 指针A指向指针B,指针B指向malloc申请的内存,通过free函数free指针A,指针B指向的内存会被释放吗
【代码】指针A指向指针B,指针B指向malloc申请的内存,通过free函数free指针A,指针B指向的内存会被释放吗。当使用free函数释放内存时,它会根据传入的指针来确定要释放的内存块。free函数通过检查内存块的头部信息(这些信息是由malloc或相关内存分配函数在分配内存时记录的)来确定内存块的大小和起始位置,然后将这块内存标记为可用状态,以便后续的内存分配操作可以重新使用这块内存。
2024-11-21 19:21:01
385
AnyTXT.Searcher.1.3.1168.Win32&Win64.exe
2024-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人