自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内存管理专项

存储与内存时有区别的,存储是说我们实际的硬盘容量,内存主要是说我们动态运行的内存,内存时一种稀缺资源,这也是我们为什么关注内存管理的原因,在对内存的管理中,我们主要需要就是防止内存的泄露,这有两个方法,一种是通过用户自己管理,缺点是:对于用户要求高,需要程序员有一定的经验和良好的编码习惯,优点是:开销小,实时性好,用完可以立即释放。其中malloc最常使用,这种分配方式开销很大,很容易造成资源浪费,解决办法也很简单,通过减少分配次数----创建内存池的方法。malloc--开销大--内存池。

2024-04-15 18:49:47 215 1

原创 C语言指针

首先指针是一种数据类型,它可以定义变量,变量保存的值是地址,由于地址是固定长度,所以指针变量的长度是固定长度;由于指针变量可以保存地址,所以可以直接操作地址,也就是可以直接操作寄存器地址,从而实现直接访问硬件,细说指针变量的话,指针又有多级指针,多级指针直接点说就是能保存上一级指针的地址,多数在操作多维数组中的元素时候使用多级指针,指针的赋值只能发生在相同类型的指针之间,如果步长不同,短指针赋值给长指针,会多取数据;多级指针作用:用来保存上一级指针变量的地址(远指针 ,近指针)地址为什么分不同的类型?

2024-04-15 18:32:59 393 1

原创 嵌入式c语言基础面试问题(四)

动态数组定义:动态数组不是一种数据类型,而是一种程序设计技术,它允许程序员在运行时创建可以改变大小的数组。使用动态分配内存的方法,可以根据实际需要增加或减少数组的存储容量。实现方式:在 C 语言中,可以使用 `malloc()`, `calloc()`, `realloc()` 等函数分配和调整动态数组的大小;在 C++ 中,则可以使用 `new` 和 `delete` 操作符,或者利用标准模板库中的 `std::vector` 类来管理动态数组。**应用场景:**

2024-03-19 15:21:19 876

原创 嵌入式c语言基础面试问题(三)

第一:指针是一个变量,用来保存地址的,作为变量,他有固定的字节长度和取值范围, 在 32 位系统中占四个字节,在 64 位系统中占八个字节,作为变量,他还有作用域,局部 指针变量存放在栈上,全局指针变量存放在数据区。第二:指针的存在提高了编写效率,如果没有指针,我们获取地址时都会进行一个强制类 型转换,效率低。我们创建 int *p:p 保存整形变量的地址,*p 是获取 p 内地址指向的内 存空间的值。

2024-03-19 15:20:46 866

原创 嵌入式c语言基础面试问题(二)

register 修饰变量,系统会尽可能(寄存器个数有限)将变量的值保存在 cpu 内部的寄存器中,成为寄存器变量,从而省去 cpu 从内存抓取数据的时间,提高了程序的运行效率。保存的是用户使用 malloc、calloc、ralloc 这样的分配函数分配空间的区域,秉持着先进先出的原则(先分配空间的先释放),由用户来决定数据的分配和释放,未初始化的变量为 0。保存的是局部变量、函数形参和函数,秉持着先进后出原则(先分配空间 的最后释放),并且由系统决定数据的分配和释放,未初始化的变量在栈上是垃圾值。

2024-03-18 14:09:25 946 1

原创 嵌入式c语言面试基础问题(一)

在已有的硬件平台上移植了操作系统,降低了软硬件之间的耦合度,可移植性高,使软件工程师无需考虑硬件结构参与项目,提高产品开发效率,提升用户体验。就是一种用途广泛分系统软件;负责全部的硬件资源分配,任务管理,控制协调各个进程,降低软硬件之间的耦合度,将软硬件分离开来,提高产品开发效率。面向过程(函数套函数,结构套结构)缺点:耦合度高,关联性强,复用性差,维护性差,扩展性差。

2024-03-13 11:21:52 745

原创 linux命令(进阶)

Less命令分页显示的功能与more命令很相像,但more命令只能从前向后浏览文件内容,而less命令不仅能从前向后浏览(按PageDown键),还可以从后向前浏览(按PageUp键),更加灵‍活。作用:显示二进制文件和其源码或man手册位置。-b 查找二进制程序或命令文件。--version 显示版本信息。-w 设置行号栏位的占用位数。-m 查找man帮助手册文件。--help 显示帮助信息。作用:分页显示文本文件内容。-b 设置行号指定的方式。-n 显示行号表示的方式。-s 在行号后添加字符串。

2024-03-12 22:02:24 327 1

原创 Linux常用命令(基础)

3,sudo命令会记录每位特权操作的日志,包括执行的命令和执行者的身分。而su命令没有外置的日志功能,难以追踪用户切换和执行的命令。2,su命令可以在命令行中直接输入,之后输入目标用户的密码即可切换用户。而sudo命令须要在命令前加上sudo关键字,之后输入自己的密码确认身分。1, su命令须要超级用户(root)密码,用户可以切换到其他用户的身分并获得其权限。作用:查看文件内容,适合查看内容较少的纯文本文件。-i 若目标文件已存在,则会询问是否覆盖。--time 设置每个子流程的执行时间。

2024-03-12 15:42:24 980 1

原创 关于红黑树

红黑树是一种自平衡的二叉搜索树,它在1972年由鲁道夫·贝尔发明。在这种树中,每个节点都遵循特定的规则,这些规则确保树大致保持平衡,即从根到任何叶子的最长可能路径不会超过最短可能路径的两倍。这种平衡性质减少了查找、插入和删除节点时的最坏情况时间复杂度,保持在O(log n),其中n是树中节点的数量。

2024-03-11 21:52:51 280

原创 c++基础篇面试问题(一)

函数重载:简单来说就是函数名相同,函数的参数不同(类型,数量,顺序不同),返回值不同不算函数重载。

2024-03-08 16:23:16 138 1

原创 Qt学习记录(自用)

对于overload型信号,只要,槽函数不是overload型就可以直接使用connect连接信号与槽。overload型槽函数是指在同一个类中存在多个具有相同名称但参数列表不同的槽函数。通过使用overload型槽函数,可以根据信号的参数类型或数量来选择调用哪个槽函数。信号函数必须是没有返回值的函数(void型),可以有参数。下划线同理setunderline。

2024-03-08 16:21:22 288 1

原创 Qt上位机开发入门(PCAN)

PCAN二次开发,QT上位机开发

2023-12-07 16:49:37 945 3

空空如也

空空如也

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

TA关注的人

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