自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ I/O 流通俗指南

输出流的核心,用于将数据送到外部,依赖。流类型<iostream>:标准输入输出(cincoutcerr<fstream>:文件操作(ifstreamofstreamfstream<sstream>:字符串处理(格式化:用<iomanip>控制输出样式。自动管理:流对象析构时会自动关闭文件,无需手动清理(但可以显式关闭)。💡C++ 的 I/O 流就像“水管系统”,统一了各种数据处理方式,既灵活又强大!

2025-04-02 17:31:34 413

原创 snprintf 和 vsnprintf 函数使用指南

适用于直接格式化字符串的场景,不涉及可变参数列表。: 原示例中有拼写错误,使用了。适用于需要处理可变参数列表(

2025-04-02 09:43:04 118

原创 Socket函数详解:完整指南

socket()函数是构建网络应用的基础,掌握其参数和用法是网络编程的第一步。根据通信需求选择合适的domain、type和protocol组合,能够创建满足各种通信场景的socket,从进程间通信到跨互联网的应用都能胜任。

2025-03-30 19:43:40 911

原创 Windows 和 Linux 操作系统架构对比以及交叉编译

Windows 和 Linux 在可执行文件格式和架构支持上有显著差异,但都支持多种处理器架构。跨平台开发需要深入理解架构差异、选择合适的编译工具和运行环境。

2025-03-25 15:31:47 1036

转载 const/const T&/const 指针/inline/constexpr(2)

inline关键字用于编译器将函数的调用,从而,提高程序执行效率。但inline只是,现代编译器会根据优化策略决定是否真正内联。👉 省去函数调用过程,提高运行速度。适用于短小频繁调用的函数适合代码少、执行频繁的小函数,比如:数学计算(max(a, b)、square(x))运算符重载❌ 不适合大函数,因为内联会导致代码膨胀(Code Bloat)。

2025-03-16 11:34:24 158

转载 const/const T&/const 指针/inline/constexpr(1)

const是 C++ 关键字,用于指示变量的值不可修改。通过使用const,可以提高代码的安全性与可读性,防止无意中修改变量的值。

2025-03-16 10:46:08 14

原创 C++类的使用

类的使用

2025-03-15 16:17:55 92

转载 重定义问题/函数是否需要extern?

头文件只做变量的声明,不能做变量的定义头文件声明变量可以采用extern的方式。

2025-03-15 09:52:01 14

原创 左值引用和右值引用/move()函数/移动语义/完美转发

在C++中,左值(lvalue)和右值(rvalue)是表达式的两种基本分类,它们决定了表达式的结果在内存中的位置和状态。左值通常指的是具有持久状态的对象,它们有明确的内存地址,可以被多次赋值。而右值通常是临时的、没有持久状态的值,它们通常没有内存地址,或者其内存地址在表达式结束后就变得无效。C++11引入了右值引用(),用T&&表示,作为对左值引用(,用T&表示)的补充。这一特性极大地增强了C++的表达能力,特别是在资源管理和性能方面。

2025-02-26 14:59:59 796

原创 c/c++中的内存分配以及类的内存存储

指那些由编译器在需要的时候分配,不需要时自动清除的变量所在的储存区,如函数执行时,函数的形参以及函数内的局部变量分配在栈区,函数运行结束后,形参和局部变量去栈(自动释放)。栈内存分配运算内置与处理器的指令集中,效率高但是分配的内存空间有限。指哪些由程序员的储存区,如果程序员不释放这块内存,内存将一直被占用,直到程序运行结束由系统自动收回,c语言中使用malloc,free申请和释放空间。全局变量和静态变量的储存是放在一块的,其中初始化的全局变量和静态变量在一个区域,这块空间当程序运行结束后由系统释放。

2025-02-26 10:32:10 153

原创 C/C++:编译全过程——预处理、编译、汇编、链接

C/C++的编译过程包含了四个步骤:1.预处理2. 编译(Compilation)3. 汇编(Assemble)4..链接(Linking)阶段源文件预处理文件汇编文件目标文件可执行文件预处理编译汇编链接executable预处理:源文件变为去除了注释、包含了头文件的文件。编译:源代码被转换为汇编语言。汇编:汇编语言代码被转换为机器代码(目标文件)。链接:目标文件被链接成最终的可执行文件。

2025-02-26 09:47:39 726

原创 HTTP请求

HTTP

2025-01-30 11:38:49 236

原创 C++ 类成员变量初始化:为什么类成员变量需要无参构造函数?

C++ 类成员变量初始化:为什么类成员变量需要无参构造函数?

2025-01-22 13:50:00 202

原创 标准I/O流和系统 I/O流—系统IO

文件操作设备通信进程间通信。

2025-01-02 17:36:08 866

原创 标准I/O流和系统 I/O流—C语言标准IO

刷新缓冲区,将缓冲区内容写入文件。用于格式化写入和读取文件。用于删除文件或重命名文件。用于写入和读取单个字符。用于设置文件流的缓冲区。用于读取和写入字符串。用于检查文件流的状态。用于打开和关闭文件。用于读写二进制数据。

2025-01-02 16:10:47 765

原创 C语言中的stdin,stdout,stderr以及errno

是标准输入、标准输出和标准错误流,它们由标准库定义,用于处理程序与外部环境之间的数据交互。通过这些流,程序可以方便地与外部环境进行交互,同时通过重定向灵活控制输入输出的目标。文件,程序从文件中读取内容。,程序的输出内容将写入该文件。,程序的错误信息将写入该文件。以上命令将标准错误输出。

2025-01-02 13:43:36 687

原创 电容,滤波器,交流转换成直流,直流转换成交流(逆变器)

---------因为刚开始充电时,电容相当于短路,所以电流大,接近充满时,电容相当于断路,所以电流小。----------因为电容充满电后没有电流了,相当于断路,电压只能等于电源电压。----------随着充电的时间变长,电容所储存的电荷增加,所以电压升高。电容的五个作用--------------①降压---②滤波---③延时---④耦合---⑤---旁路。为容抗,也就是电容的阻值。----------电容两端的电势增加,电场强度自然也就增加。电容------通交阻直,但是是通高频,阻低频。

2024-11-24 11:22:03 633

原创 使用Potplayer直接播放BiliBili网站视频

原文链接:https://guihet.com/potplayer-bilibili.html?continueFlag=653c9e5b2100d823a1f3a3d5ea52e509插件链接:https://files.cnblogs.com/files/luckyleon/BilibiliPotPlayer-5455d7d12e8e050c71a1cc96241d1c9cd039e98f.zip?t=1713931791&download=true

2024-11-24 11:20:11 1342 1

原创 基于STM32串口通信的ESP8266WiFi模块使用

ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。STA 模式: ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。AP 模式: ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。STA+AP 模式: 两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。

2024-11-24 11:06:19 2765

原创 基础定时器

但是务必记住在开启定时器中断后会立即进入一次中断,因为TIM_TimeBaseInit函数末尾,手动产生了更新事件。所以需要在HAL_TIM_Base_Start_IT(&htimx)之前使用__HAL_TIM_CLEAR_FLAG(&htim6,TIM_IT_UPDATE)清除定时器更新标志位(_TIM_OnePulse模式下相当于会进入两次终端),如果不介意此问题,则不清除此标志位也可。需要在main函数中使用HAL_TIM_Base_Start_IT(&htimx)来开启定时器的定时中断。

2024-11-24 11:03:04 202

原创 调试相关疑难点

比如定时器更新中断,在中断服务程序打下断点后,程序没有执行。但是定时器的计数器一直在计数,并不会停止,同时调试器读取数值需要一点时间,并不是刚进入中断服务的计数0,所以最后寄存器窗口获取的数值并不是中断服务函数执行时的数值。使用keil调试STM32,定时器的CNT寄存器数值在断点读取数值不准确问题。

2024-11-24 11:02:11 95

空空如也

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

TA关注的人

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