- 博客(42)
- 收藏
- 关注
原创 【windows系统】栈上分配内存大于1MB导致系统崩溃
主要方法:编译时设置:通过编译器链接选项运行时调整:使用 setrlimit (Linux/Mac)线程特定:创建具有大栈的新线程建议: 虽然技术上可行,但在生产代码中谨慎使用大栈分配,优先考虑堆分配或专用大栈线程,以避免潜在的系统资源问题。
2025-10-22 14:51:55
915
原创 Linux之find命令
需求命令示例查找所有目录按名称查找(精确)按名称查找(模糊)忽略大小写限制搜索深度查找空目录按权限查找删除找到的空目录。
2025-08-27 13:53:34
433
原创 qt c++ QTableWidget
本文详细介绍了Qt中的QTableWidget控件接口,包括:1.基本设置和行列管理;2.单元格内容操作;3.选择和编辑控制;4.表头管理;5.排序搜索功能;6.视觉外观设置;7.拖放操作;8.信号接口等核心功能。同时提供了完整示例代码,展示了表格创建、数据填充、信号连接等典型用法。文章还特别强调了性能优化、内存管理和线程安全等重要注意事项,是使用QTableWidget的全面参考指南。
2025-08-27 12:01:35
689
原创 qt c++ 进程和线程
在Qt C++开发中,进程(Process)和线程(Thread)是两种不同的并发模型,各有适用场景和实现方式。通过合理选择进程和线程模型,可以在保证程序稳定性和安全性的同时,充分利用多核CPU资源,提升应用性能。,每个进程拥有独立的地址空间、文件描述符、环境变量等。进程间通信(IPC)需要显式机制。,同一进程内的线程共享地址空间和资源。提供线程支持,需注意线程安全。
2025-03-10 15:30:00
1033
原创 qt c++线程中的同步和异步
通过合理选择同步机制和异步模式,可以构建高效、响应迅速的Qt多线程应用。将耗时操作移至后台线程,避免阻塞主线程(如GUI线程)。用于协调多个线程对共享资源的访问,避免竞态条件。所有UI更新应在主线程完成,通过信号槽传递结果。管理对象生命周期,确保对象在正确线程析构。
2025-03-10 15:00:00
1779
原创 实际开发中实现一个全局日志功能
在实际开发中,全局日志功能是系统的重要组成部分。通过合理设计日志级别、输出目标、日志格式和日志管理器,可以实现一个高效、灵活且易于维护的日志系统。同时,通过扩展日志轮转、异步日志和网络日志等功能,可以进一步提升日志系统的性能和实用性。
2025-03-10 10:20:43
650
原创 Qt C++ 实际开发中宏编译的运用
宏编译在Qt C++开发中具有广泛的应用场景,特别是在跨平台开发、调试信息控制、功能开关和编译器兼容性方面。通过合理使用宏编译,可以提高代码的灵活性和可维护性。然而,也需要注意宏编译的缺点(如可读性差、调试困难等),并遵循最佳实践以确保代码的质量。在实际开发中,宏编译与Qt框架的其他特性(如信号槽机制、元对象系统)结合使用,可以构建高效、健壮的跨平台应用程序。
2025-03-10 10:10:44
1444
原创 模板函数在实际大型开发中的应用
private:public:模板函数是C++泛型编程的核心工具,在大型开发项目中具有广泛的应用场景。通过合理使用模板函数,可以提高代码的复用性、灵活性和性能。然而,也需要注意其潜在的缺点(如编译时间增加、代码膨胀等),并遵循最佳实践以确保代码的可维护性和可读性。在实际开发中,模板函数与STL、RAII、智能指针等技术结合使用,可以构建高效、健壮的大型软件系统。
2025-03-10 09:30:08
1003
原创 PIMPL模式
PIMPL模式是一种强大的设计模式,特别适合需要隐藏实现细节、减少编译依赖或提高二进制兼容性的场景。尽管它增加了代码的复杂性,但在大型项目或库开发中,它的优势往往超过了缺点。
2025-03-10 09:20:12
724
原创 【c++】 inline 内联函数简单了解
inline是一个真正的函数,通常定义在头文件里面,编译器在处理源文件的时候可以直接看到函数的定义,用于定义代码简单且频繁调用的函数,只需要简单标记为inline,使用的时候编译器会尝试将函数的代码直接插入到每个调用点,而不是通过常规的函数调用来执行。就不得不提一下c语言里面的宏了,宏函数会在预处理时替换展开,进而提升程序的执行效率,but宏定义展开呢不会进行类型检查,这样就会导致宏函数实现如果太复杂就容易出错并且很难调试,所以c++引入了内联函数。跟普通函数一样可以在编译器中看到,可以单步执行,调试方便。
2024-12-12 11:08:55
431
原创 设计模式(c++)
设计模式通过定义抽象的结构和行为来解决具体的开发问题。它们可以提高代码的可复用性、灵活性和可维护性。合理运用设计模式能使代码更加简洁、易读和易扩展。
2024-10-17 10:28:35
1001
原创 QT信号和槽
Qt 的信号和槽(Signals and Slots)机制是其最具特色和强大的功能之一,它用于对象之间的通信,使得组件之间的交互变得简单而高效。
2024-09-04 08:30:51
1126
原创 UML+OO原则
在C++编程中,UML(Unified Modeling Language,统一建模语言)和面向对象(OO,Object-Oriented)设计原则是设计和实现高质量软件系统的关键工具。以下是如何在C++中应用UML和面向对象原则的详细介绍。
2024-07-23 15:59:44
845
原创 C++容器详解
C++容器是强大且多样化的数据结构库,选择合适的容器可以大大提高程序的效率和可维护性。理解每个容器的特性和适用场景是编写高效C++代码的关键。
2024-07-17 22:49:20
1137
原创 C++函数重载详解
函数重载是一种使代码更具可读性和灵活性的重要特性。它允许在同一作用域内定义多个同名函数,并通过参数的个数和类型区分这些函数。在设计函数重载时,要注意避免因参数类型过于接近而导致的调用混淆,确保函数重载能够清晰地表达不同的功能。
2024-07-14 22:49:54
908
原创 c++多态详细学习
C++中的多态性是通过继承、虚函数和纯虚函数实现的。它允许在运行时根据对象的实际类型调用相应的方法,从而提高代码的灵活性和可扩展性。在设计面向对象系统时,多态性是一个强大的工具,可以帮助你实现更优雅和可维护的代码结构。
2024-07-14 22:42:57
919
原创 C语言文件操作
每个示例在打开文件后,都检查文件指针是否为空,确保文件成功打开,并在完成操作后关闭文件。// 以只写的方式打开文件,如果文件不存在则创建,否则文件存在则追加。// 使用fopen函数打开或者创建文件,返回文件指针。// 使用fgetc从文件中逐字符读取内容。// 通过fputc函数向文件写入字符。// 去除可能的换行符。// 从文件中读取一行内容。// 打开文件以只读方式。// 以只写方式打开文件。// 打开文件以只读方式。// 以只写方式打开文件。// 逐行读取文件内容。// 向文件写入内容。
2024-06-05 22:20:59
687
原创 C语言面试题(拓展)
( x ) 表示大骆驼的数量(每只大骆驼可以背3筐土豆)。( y ) 表示中骆驼的数量(每只中骆驼可以背2筐土豆)。( z ) 表示小骆驼的数量(每2只小骆驼可以背1筐土豆,所以一只小骆驼相当于0.5筐)。
2024-06-05 22:15:12
670
原创 C语言自定义类型
结构体在C语言中经常使用,typedef可以简化结构体的使用。// 使用typedef定义结构体别名int x;int y;} Point;// 使用结构体别名声明变量return 0;枚举类型用于定义一组命名的整数常量,使用typedef可以简化枚举类型的声明和使用。// 使用typedef定义枚举类型别名RED,GREEN,BLUE} Color;// 使用枚举类型别名声明变量。
2024-06-02 21:41:09
758
原创 C语言结构体
结构体的定义格式如下:struct 结构体名称 {数据类型 成员1;数据类型 成员2;// 更多成员以下是一个定义表示点(Point)的结构体的示例:// 定义结构体Pointint x;int y;结构体是C语言中非常重要的数据类型,可以帮助你组织和管理复杂的数据。通过定义结构体、声明结构体变量、使用结构体指针和typedef,你可以高效地处理各种复杂的数据结构。
2024-06-02 21:34:02
949
原创 C和c++头文件库
C语言和c++里面都有哪些我们常会用到的头文件呢?要了解每种头文件库的作用,才能更好的写代码。1.c语言C语言中的头文件(Header Files)是包含函数声明、宏定义、数据类型和常量定义的文件,通常具有扩展名。头文件的主要作用是实现代码的模块化和重用性,避免代码的重复编写,并且通过函数声明来告知编译器某个函数的存在。以下是一些常见的C语言头文件及其功能简介:标准输入输出库 ()包含输入输出函数,如、、、等。标准库 ()包含常用的库函数,如内存分配(、)、程序退出()、常用转换(、)等。字符串处理库 ()
2024-06-02 21:30:06
1457
原创 C语言数组指针和指针数组
在C语言中,“数组指针”和“指针数组”是两个不同的概念,尽管名字相似,但它们的用途和用法有明显的区别。指针数组是一个数组,其中每个元素都是一个指针。- `arr[i][j]` 是第 `i` 个字符串中的第 `j` 个字符。它保存的是数组的地址。在这里,`arr` 是一个包含三个指针的数组,每个指针指向一个字符串。- `(*p)[i]` 是数组中的第 `i` 个元素。在这里,`p`是一个指向包含5个整数的数组的指针。- `arr[i]` 是一个指向字符串的指针。- `*p` 是 `arr` 数组本身。
2024-05-31 21:02:09
393
原创 数组与指针声明小问题
在 C 语言中,指针和数组之间的关系非常紧密。是一种将指针p指向数组arr的第一个元素的常见且正确的方式,而则是不正确的,因为&arr的类型不匹配指针p的类型。通过正确初始化指针,可以方便地使用指针进行数组元素的访问和修改。
2024-05-27 16:22:07
956
原创 MySQL命令
MySQL 的分页查询和嵌套查询是常用的高级查询操作。以下是这些查询的详细说明和示例。嵌套查询是指在一个 SQL 查询中嵌套另一个查询,通常用于条件过滤、数据筛选等场景。分页查询用于从大量数据中分段获取数据,从而提高查询效率和用户体验。,分别存储员工和部门信息,你希望查找属于特定部门的所有员工。提示输入密码后,输入你指定的用户名和密码。返回左表的所有记录及其匹配的右表记录。返回右表的所有记录及其匹配的左表记录。联合查询用于从多个表中查询相关数据。返回两个表中满足连接条件的记录。用于指定返回记录的最大数量,
2024-05-24 22:43:00
639
原创 c++基础详解
C++ 是一种功能强大且灵活的编程语言,用于系统编程、应用程序开发、游戏开发等多个领域。下面我将详细讲解 C++ 的基础知识,涵盖以下几个方面:目录c++基础详解1. 基本语法2. 变量和数据类型3. 运算符4. 控制流5. 函数6. 数组和字符串7. 指针和引用8. 面向对象编程C++ 程序的基本结构如下:#include <iostream> // 包含输入输出流库int main() { std::cout << "Hello, W
2024-05-22 12:01:29
2249
原创 C语言作业题
(要求:使用递归函数计算桃子的个数,要求有函数设计,传入天数,返回桃子的个数)(注意与循环的区别)1、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。// 第10天早上剩下的1个桃子。// 根据前一天剩余的桃子数计算当天开始的总桃子数。// 第1天剩余的桃子数为1。// 每天早上吃掉一半,剩下的桃子数量加1。// 递归调用,计算前一天剩余的桃子数。// 递归函数,计算第一天开始的总桃子数。// 计算第一天开始的总桃子数。// 计算第一天开始的总桃子数。// 计算第一天开始的总桃子数。
2024-05-22 11:57:18
350
原创 Leetcode 简单题 数组合并问题
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
2024-05-17 17:06:33
283
原创 C语言数组
在C语言中,数组的定义形式为:type:表示数组中元素的数据类型。arrayName:数组的名称。arraySize:数组的大小,即数组中元素的个数。例如:// 定义一个包含5个整数的数组数组是C语言中非常基础且重要的数据结构,用于存储和操作一组相同类型的数据。理解数组的定义、初始化、访问和遍历,以及常见的数组操作如排序和查找,将有助于有效地编写C语言程序。
2024-05-17 16:14:08
538
原创 c语言三大基本控制结构
顺序结构:按代码书写顺序依次执行。条件结构:根据条件是否为真来选择执行路径,包括ifif-else和switch语句。循环结构:重复执行代码块,直到满足特定条件,包括forwhile和do-while循环。
2024-05-17 16:12:21
1754
原创 Linux常用命令
大部分列出的命令在 CentOS 7 和 Ubuntu 系统中都可以使用,但有一些命令可能在不同的发行版中有些许差异或者一些特定版本中有所变化。在使用命令时,最好查看相应发行版的官方文档或者使用命令的帮助文档以确保正确使用。此外,对于某些特定的命令和功能,可能会有特定于某个发行版的工具和配置方式。在 CentOS 和 Ubuntu 中都可以使用,但是有些选项可能会有所不同。用户和权限管理方面的命令在大部分情况下都是通用的,但可能会有一些差异。在最新的 CentOS 8 版本中,也可以使用。
2024-05-17 14:22:21
939
原创 C语言头文件#include<ctype.h>详解
ctype.h提供了一组非常有用的函数,用于处理和转换字符。了解和使用这些函数可以大大简化字符处理的代码,使代码更加简洁、易读和高效。
2024-05-17 14:15:19
3975
原创 指针的范围
指针的大小通常是4字节(32位系统)或8字节(64位系统)。指针的范围取决于系统架构和内存模型。内存地址的实际使用范围受到操作系统和硬件的限制。特殊指针值如NULL用于表示不指向任何有效地址的指针。
2024-05-15 16:02:53
552
原创 Leetcode 练习题(简单题)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
2024-05-15 15:56:30
386
原创 c语言运算符学习
C语言中的运算符表达式是用于执行各种计算和操作的组合。运算符表达式由运算符和操作数组成,它们按照一定的优先级和结合性进行求值。
2024-05-15 00:09:28
1857
原创 VScode launch.json路径错误解决办法
在使用VScode途中,遇到了这么个问题,对于初使用VScode选手的我来说,问题不小。以下是我查找资料后总结的一些方法:这个错误提示表明GDB无法找到指定的工作目录,这可能是由于路径中的特殊字符(如中文字符)或转义字符导致的。
2024-05-14 15:20:40
4044
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅