自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++精进之路5:32位系统中的内存地址分布

32位系统中有4G虚拟地址,按大类可以分为内核区和用户区内核区:3G~4G的空间顾名思义,是给系统内核使用的,其地址分配和使用由操作系统自行完成,程序员和用户不需要关心。用户区:0~3G是给用户程序使用的区域,按地址从高到低,又可以分为几个区域1、栈区栈区存储的内容是函数体内使用的变量、程序等内容,在函数调用时系统自动分配栈内存给函数,调用结束后自动释放栈内存。2、堆区堆内存,使用时需要用new或者malloc申请内存,使用完之后必须delete或者free释放内存,否则会导

2020-12-15 23:35:57 467

原创 C++精进之路4:引用的用法

一、什么是引用C++中的引用,是变量的别名,使用时必须绑定需要引用的实体, 也就是初始化。对引用的操作与对其绑定的实体的操作是完全等同的,用法示例:int & ref = number;二、引用的用法1、引用作为函数参数存在int swap(int &a ,int &b){ int tmp; tmp = a; a = b; b = tmp;}引用用于代替C语言中的地址传递,是一种没有复制开销的传递...

2020-12-15 22:40:28 563

原创 C++精进之路3:new/delete与malloc/free的区别

首先说一下内存异常的一些常用概念:内存泄露:malloc申请堆内存时,没有进行free释放内存,导致内存被占用;内存溢出:因为内存泄露太多,导致内存被用完,就会出现内存溢出的报错,在windows中弹窗内存溢出是挺常见的;野指针:内存free释放后,没有赋值null,指针仍然指向未申请使用的内存地址,访问野指针会导致无法预期的数据修改,可能导致程序崩溃;内存踩踏:访问越界导致腹泻了非目标地址内的数据,常见于循环访问数组时设置循环次数有误,导致访问越界,写入数据将非数组内的变量也覆盖掉了;

2020-12-15 01:03:58 127

原创 C++精进之路2:const限定符及其用法

用处定义一种值无法改变的变量,供其他程序使用。它是一个修饰类型的关键字,需要初始化,表示变量在初始化后不再可以改变。const与宏定义的区别1、发生的时间不一样,宏定义发生在预处理,const发生在编译时。2、是否进行了类型转换,宏定义只进行了字符替换,本质上只是别名,没有进行类型检查,编译时可能会出现不可预期的错误;const关键字有类型检查,在编译阶段就能检查出const的错误。在C++中,推荐多使用const、emun替代掉宏定义const修饰指针变量在*前,表示指针可

2020-12-15 00:41:11 125

原创 C++精进之路1:C++的命名空间

命名空间的含义使用namespace{}命名的一段内存区域,在区域内的函数、类被限制于该命名空间中使用;命名空间的使用方法1、using编译指令这种方法是非限定名称引用,在头文件中使用using namespace xxx的方法,把空间中的所有实体全部引入,访问空间的实体时就可以将空间中的实体当成通用成员使用;例如 using namespace std ,STL库中的cout cin string map等等所有成员都可以直接使用;这种用法要求使用者对空间中的成员熟悉,否则在定义新的...

2020-12-15 00:11:41 114

原创 使用ntp配置本地局域网终端时钟同步

通用PC机自带两类时钟源:硬件时钟和软件时钟(或称为系统时钟)。不论是硬件时钟还是软件时钟,都是由石英晶体振荡器驱动的,通过累计石英晶体振荡器输出脉冲数,换算出时间。所以计算机时钟的准确度取决于晶振频率准确度。受温度变化、电压、芯片老化等因素影响,晶振频率会发生小幅度波动,其中温度对晶振频影响最大。由于工艺和材料的原因,同一生产线上标称频率相同的石英晶体,其实际频率是不同的,实际频率与标称频率偏差...

2020-02-08 15:46:41 3036

原创 重定义rm命令并创建几条命令实现linux系统下的回收站功能的一种方法

linux:重定义rm命令并实现回收站功能基本原理重映射rm命令新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

2019-06-08 10:01:05 562

原创 8种常用的排序算法

8种常用的排序算法数据结构中的排序是非常重要的知识,将数据排序是处理数据的基本起手操作。从类型上分排序可以分为内部排序和外部排序,对保存在内存中的数据进行排序成为内部排序,对保存在磁盘上的数据排序称为外部排序。本文将对内部排序常用的8中排序做一个简单介绍,作为一个程序员,需要熟练掌握这8种常用的排序,理解其排序思想,并能以代码实现。8种排序中的时间复杂度和空间复杂度一览可以...

2019-05-18 20:15:45 1451

原创 stm32F407 RT-thread V2.0.1 扩展系统串口设备

本文涉及的主控芯片为stm32F407zet6,扩展进行的前提是系统工程移植完成,能够正常运行,串口1/2/3 console工作正常,输出正确。RTT操作系统默认的系统挂载串口只有三个,分别是串口1,串口2,串口3。但是项目需要的串口需要更多的串口,为了应用,将对系统的串口进行扩展。首先尝试了直接照抄串口1 2 3的配置,对应电路板实际的资源分配,利用宏配置各个串口的IO

2017-09-07 09:52:49 1319

空空如也

空空如也

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

TA关注的人

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