TechBlog
首页分类标签搜索关于
← 返回标签列表
加载中...

© 2025 TechBlog. All rights reserved.

#标签

共 2214 篇文章
SQLITE问题整理

SQLITE问题整理

用过sqlite的朋友都知道,在数据库目录会有xxx.db文件,你可能看到过,其实数据库不只有xxx.db,有时候还会有xxx.db-shm、xxx.db-wal、xxx.db-journal等文件,你有想过这些文件的作用是什么吗?db-wal文件:需要手动开启wal模式,开启wal模式后,数据库修改日志会先写在wal文件中,事务提交后,会写在db文件中,主要用作协调并发访问。db-shm文件:用于共享内存和协调并发访问,存储了数据库连接中的锁信息和同步机制,数据库启用WAL模式后创建,数据库关闭时删除。

时间:12/17/2025

C语言贪吃蛇游戏超详解包含音效颜色封装成应用等

C语言贪吃蛇游戏超详解包含音效颜色封装成应用等

C语言贪吃蛇游戏开发详解本文详细介绍了使用C语言开发贪吃蛇游戏的全过程,包含以下核心内容:开发环境配置必须使用Windows控制台主机运行提供了控制台终端设置的具体步骤关键技术应用Win32API实现键盘控制EasyX图形库添加游戏音效动态内存管理处理蛇身增长游戏功能实现控制台光标隐藏与定位彩色文字显示界面蛇身移动与碰撞检测食物生成与分数计算特色功能变速控制(加速/减速)游戏暂停与继续彩蛋设计项目采用模块化开发,分为头文件和源文件,代码注释详细。最终成品包含欢迎界面、游

时间:12/17/2025

从C开始的编程生活15模板知识补充

从C开始的编程生活15模板知识补充

第15篇主要讲的是有关于C++的模板知识补充.

时间:12/17/2025

从C开始的编程生活16继承

从C开始的编程生活16继承

第16篇主要讲的是有关于C++的继承

时间:12/17/2025

基于C的Head-First设计模式笔记策略模式

基于C的Head-First设计模式笔记策略模式

本文介绍了《HeadFirst设计模式》中策略模式的学习笔记,通过C++重写Java示例。以鸭子模拟游戏为例,最初使用简单继承导致代码冗余和修改困难,如橡皮鸭错误继承飞行行为。通过识别变化部分(飞行和叫声行为)并将其封装为独立接口(FlyBehavior和QuackBehavior),使用组合代替继承,实现了行为的动态配置。最终定义了策略模式:将算法族封装为可互换对象,使算法变化独立于使用客户。该模式通过行为委托和多态提高了代码的灵活性和可扩展性,体现了“优先使用组合而非继承”的设计原则。

时间:12/16/2025

C中的安全指针智能指针

C中的安全指针智能指针

C++智能指针提供了自动内存管理功能,主要包括unique_ptr(独占所有权)、shared_ptr(共享引用计数)和weak_ptr(解决循环引用)。在信息学竞赛中,智能指针适用于动态数据结构管理,能有效避免内存泄漏,简化代码结构。虽然存在轻微性能开销,但多数情况下优势明显:unique_ptr适合单一所有权场景,shared_ptr用于资源共享。建议竞赛选手掌握智能指针,在复杂数据结构中优先使用,简单场景可视情况选择裸指针。智能指针的安全性优势使其成为现代C++编程的重要工具。

时间:12/16/2025

mfc最简单自定义消息投递实例

mfc最简单自定义消息投递实例

mfc最简单自定义消息投递实例,点击按钮将一个int数据用PostMessage消息投递给出去,弹出MessagBox显示这个数据。

时间:12/16/2025

MFC中从位图角度旋转图片示例代码

MFC中从位图角度旋转图片示例代码

摘要:本文提供了MFC中实现位图旋转功能的代码示例,支持0°、90°、180°和270°四种固定角度旋转。核心函数RotateBitmap通过创建32位DIBSection进行像素级操作,避免了CDC依赖。代码处理了源位图信息获取、内存分配、像素搬运等关键步骤,并提供了两种实现方式:直接返回CBitmap对象和使用输出参数避免所有权问题。特别说明了在老版本MFC中可能存在对象所有权风险的情况。

时间:12/16/2025

MFC基于CStatic自绘控件多轴图样标签的折线图控件

MFC基于CStatic自绘控件多轴图样标签的折线图控件

本文介绍了一个基于MFCCStatic控件的多轴折线图自绘控件实现。该控件支持多Y轴显示、多数据序列绘制,包含刻度、网格、图例和自适应绘图区等功能。主要特点包括:采用GDI+实现平滑曲线绘制支持动态添加Y轴和数据序列提供完整的坐标轴、网格、图例显示自动计算绘图区域并适配不同尺寸支持X轴标题显示实现上通过继承CStatic类,重写OnPaint等方法完成绘图逻辑,使用GDI+实现抗锯齿效果。开发者只需调用简单的API接口即可创建复杂的多轴图表,适用于各种数据可视化场景。

时间:12/16/2025

C-Primer-Plus第6版第二章-开始学习C

C-Primer-Plus第6版第二章-开始学习C

本文介绍了C++程序的基本结构、核心元素和输入输出功能。主要内容包括:1)最小C++程序示例及其组成,强调必须包含main()函数;2)关键组成部分详解,如预处理器指令#include、main()函数、命名空间namespace和注释;3)输入输出工具cout与cin的使用方法,包括基础输出、拼接输出、换行控制、转义字符和格式化输出。文章通过代码示例和对比表格,清晰展示了C++程序的编写规范和常用技巧。

时间:12/16/2025

基于C-WinForm的收银管理系统实现

基于C-WinForm的收银管理系统实现

基于C#WinForm的收银管理系统实现,整合了商品管理、销售结算、库存跟踪等核心功能,并采用模块化设计和面向对象编程思想

时间:12/16/2025

基于C-WinForm实现的仿微信打飞机游戏

基于C-WinForm实现的仿微信打飞机游戏

基于C#WinForm实现的仿微信打飞机游戏

时间:12/16/2025

C单例模式

C单例模式

本文介绍了C#中线程安全的单例模式实现。通过私有构造函数防止外部实例化,使用静态变量_instance存储唯一实例。关键点在于GetInstance()方法采用双重检查锁定机制:外层无锁检查提升性能,内层加锁确保线程安全。lock语句保证多线程环境下只会创建一个实例,readonly锁对象防止篡改。通过Task.Run()演示了多线程调用场景,验证了单例的唯一性。这种实现既保证了线程安全,又避免了不必要的锁开销。

时间:12/16/2025

在上位机上熟悉FreeRTOS-API

在上位机上熟悉FreeRTOS-API

摘要本文介绍了如何在上位机环境中配置FreeRTOS学习环境,通过POSIX模拟器快速熟悉RTOSAPI。主要内容包括:获取FreeRTOS源码并建立项目结构编写CMake构建文件,实现跨平台编译(支持Linux/WSL)配置必要的FreeRTOSConfig.h文件说明POSIX模拟器的特点(非实时但适合学习基本概念)该方法避免了直接使用单片机时硬件与RTOS概念的混淆,适合初学者快速掌握任务、内存管理、信号量等核心概念。文章提供了完整的工程结构和配置示例,读者可立即着手实践FreeRTOS

时间:12/16/2025

数据结构C语言单向链表-链表基本操作尾插法建表插入15分钟试讲教案模版

数据结构C语言单向链表-链表基本操作尾插法建表插入15分钟试讲教案模版

【代码】《数据结构C语言:单向链表-链表基本操作(尾插法建表、插入)》15分钟试讲教案【模版】

时间:12/15/2025

数据结构-初阶详解线性表3-双链表

数据结构-初阶详解线性表3-双链表

我们可以通过哨兵位的front指针直接找到尾结点。

时间:12/15/2025

C语言中的面向对象思想

C语言中的面向对象思想

对于c语言当一个结构体要创建多个变量时,若我们分开管理就会比较难以管理,但是我们可以通过结构体数组(对象数组)的形式对其进行管理。可见当我们需要管理多个gpio时我们就可以通过一个数组的方式将其管理在一个数组内,并且通过对数组的遍历我们还可以批量处理数据,方便了我们的管理。

时间:12/15/2025

数据结构单向无头不循环链表

数据结构单向无头不循环链表

链表其实就像火车车厢一样,一个接一个的串起来。所以链表在逻辑上是线性的,在物理上是非线性的,因为链表是一个一个的节点串起来,空间上不是连续的,所以在物理上是非线性的链表的节点又分为两部分:1、数据域:存储具体数据的成员2、指针域:存储下一个节点的成员。

时间:12/15/2025

C-位图与布隆过滤器

C-位图与布隆过滤器

本文详细介绍了位图和布隆过滤器两种数据结构及其在海量数据处理中的应用。位图通过比特位存储状态,适用于无重复数据的快速查找,能有效节省内存空间。布隆过滤器则通过多个哈希函数降低误判率,适用于判断元素是否存在。文章还讨论了这两种结构的具体实现方法、优缺点以及应用场景,并给出了处理海量数据问题的实际解决方案,如TopK问题和哈希切分法。这些技术在处理大规模数据时展现出显著优势,能够平衡内存使用和查询效率。

时间:12/15/2025

新手练-C-HTTP-服务实操从-拆请求头-到-发-HTML-响应

新手练-C-HTTP-服务实操从-拆请求头-到-发-HTML-响应

新手学习C++实现HTTP服务时,常因视频教程的快速演示陷入三大误区:1.协议与代码脱节,死记硬背导致关键细节(如HTTP头分隔符\r\n、端口绑定顺序)出错;2.环境配置复杂,跨平台库依赖(如Windows的ws2_32.lib)耗费大量调试时间;3.功能拓展困难,缺乏多线程或POST请求处理等实战指导。建议通过结构化知识梳理(分解HTTP协议、TCP编程、服务端逻辑)结合在线沙盒实操(预置环境、实时纠错),将零散知识点串联为完整技能链,从“抄代码”升级为“懂逻辑”。例如,沙盒可自动补全响应

时间:12/15/2025

数组矩阵理论基础

数组矩阵理论基础

数组&&矩阵理论基础

时间:12/15/2025

各种排序算法时间复杂度分析和实现和优势

各种排序算法时间复杂度分析和实现和优势

基数排序O(d·(n+k))O(d·(n+k))O(d·(n+k))O(n+k)✓d是最大位数。希尔排序O(nlogn)-O(n²)O(nlogn)O(n²)O(1)✗改进的插入排序。归并排序O(nlogn)O(nlogn)O(nlogn)O(n)✓稳定,适合外排序。快速排序O(nlogn)O(nlogn)O(n²)O(logn)✗分治,实际最快。算法平均情况最好情况最坏情况空间复杂度稳定性说明。

时间:12/15/2025

C核心特性精讲从C语言痛点出发,掌握现代C编程精髓超详细

C核心特性精讲从C语言痛点出发,掌握现代C编程精髓超详细

本文深入探讨了从C语言转向C++的必要性,重点分析了C语言在大型项目管理中的核心痛点,并展示了C++如何通过命名空间(namespace)机制优雅解决这些问题。文章首先指出C语言在命名冲突、指针管理、函数设计等方面的不足,然后详细讲解了C++命名空间的多种应用方式,包括基本命名空间、嵌套命名空间、匿名命名空间和命名空间别名,并通过丰富的代码示例演示了它们在工程实践中的应用。命名空间为C++提供了模块化组织能力,有效解决了标识符冲突问题,是构建大型软件系统的重要基础特性。

时间:12/15/2025

VSCode-调试-C-之-cin-输入

VSCode-调试-C-之-cin-输入

VScode中调试C++,cin无法在Terminal中输入内容。解决办法。

时间:12/14/2025

上一页
12345...93
下一页第 2 / 93 页