自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零开始的JSON库教程(一)

JSON(JavaScript Object Notation)是一个用于数据交换的文本格式

2023-11-03 16:58:44 797 1

原创 野指针成因与避免方法

野指针定义:指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)

2023-11-01 16:55:46 225

原创 IRQ中断服务函数

IRQ中断服务函数是由操作系统或开发人员编写的函数,当IRQ中断请求到达服务器时,处理器会暂停当前任务,保存上下文,并跳转到相应的中断服务函数执行对应操作。

2023-09-30 14:32:32 207

原创 Linux下在终端输入密码隐藏方法

最近做简单的登录界面时,不做任何操作的话,在终端输入密码的同时也会显示输入的密码是什么,这样对于隐蔽性和使用都有不好的体验。那么我就想到将密码用字符'*'隐藏起来,这样看起来才像一个完整的登录界面。

2023-07-29 15:55:43 998 1

原创 进程线程间的通信

进程和线程之间有很多种方法进行通信,如下是需要掌握的通信方式:无名管道(pipe)有名管道(fifo) 信号(signal)共享内存(mmap)

2023-07-26 17:43:03 147

原创 ARM中栈的种类与运用

该代码使用STMFD和LDMFD指令将当前函数的寄存器值保存到栈中,并在函数返回时将这些值从栈中弹出,以恢复现场,具体的动态结果可以自行演示!在学习数据结构,没有听说过栈还有什么分类,通常是将栈和队列一起讲的,而在底层技术中,栈其实有很多种分类,这些分类决定了栈的特点和使用方式,而C语言中不需要关心,所以我们没有了解。对于满减,后进先出,那么我们从地址低的读到地址高的,且从指针的指向开始,那么满减对应的应该是LADIA。栈指针指向最后一次压入到栈中的数据,压栈时需要先移动栈指针到相邻的位置再压栈。

2023-07-13 20:43:17 760 3

原创 ARM异常处理详解

学习一门处理器最重要的就是掌握该处理器的指令集和异常处理。

2023-07-09 10:22:19 953 11

原创 ARM处理器概述

比如生活中的物体比较大,所以它更为复杂。那么随着CPU的用于计算的使用不断提高,CPU里面的运算方法越来越多,虽然,可以提高CPU的效率,但是有更多负面的影响,比如功耗高、价格昂贵。机器码(二进制)是处理器能够直接识别的语言,不同的机器码代表不同的运算指令,处理器能够识别哪些机器码是由处理器的硬件设计所决定的,不同的处理器机器码不同,所以。所以对于硬件来说也是一样,我们想使用越来越多的硬件结构来实现我们的目的,RISC处理器就使主要的结构放进去,而一些复杂的丢掉,要使用的时候再用简易结构转换。

2023-07-02 17:30:01 1494 16

原创 QT简易加法计算器项目实现

QT简易加法计算器项目实现

2023-06-30 18:17:02 1002 12

原创 Linux进程线程编程练习题(附答案)

其中每个元素都是一个整数。请编写一个程序,创建M个线程,每个线程计算数组A的一个子数组的和,并把结果累加到一个全局变量S中。当所有线程结束后,主线程输出S的值。编写一个程序,创建一个子进程,并在子进程中执行一个命令,然后在父进程中等待子进程结束,并输出子进程的退出状态。通过这两个实验,学到了什么?附上pthread构造形式。附上execl的构造形式。

2023-06-23 16:31:44 651 10

原创 重生之我真不想学Linux-线程

注意:主进程的退出,创建的线程也会退出,线程创建需要事件,如果主进程马上退出,那线程不能得到执行。对于一个默认属性的线程来说,线程占用的资源并不会因为执行结束而得到释放,所以需要对线程进行回收。当读写锁处于读锁状态,有写者试图加写锁时,之后的其他线程的读锁请求会被阻塞,避免长时间的不写锁。注意:线程的取消要有取消点,不是所有线程都能取消,线程的取消点主要是阻塞的系统调用。指定该状态,线程主动与主控线程断开关系,线程结束后,不会产生僵尸进程。当读写锁处于写锁状态,所有试图对读写锁读或者写的线程,都会被阻塞。

2023-06-22 12:12:05 94 6

原创 重生之我真不想学Linux-进程

重生之我真不想再看Linux了-进程线程

2023-06-19 17:18:11 84 5

原创 2048小游戏(C语言实现)

2048小游戏(C语言实现)

2023-05-13 18:08:06 2372 6

原创 范围for循环

C++11引入的新特性,此for循环只适用于支持迭代器的容器,例如数组、vector、set、map等,而不能用于普通的指针或者基本数据类型。

2023-04-23 16:57:22 147 3

原创 STL简单测试题

第一个参数是字符串的起始位置,第二个参数是字符串的终点位置,第三个是init求和初始化,即为求和累加器,第四个是一个Lambda表达式,用于自定义累加操作(若没有第四个参数,即为起始位置到终点位置和累加器的和)查阅资料发现,代码中定义的vInt_Max迭代器指向的是vIntA.end(),而不是vIntA中的最大值。因此,输出的最大值是未定义的,可能会导致程序出现错误(vInt_Min没有影响)函数将得到一个指向容器尾部的迭代器,但是这个迭代器并不能用于访问容器中的元素,因为它指向的是一个不存在的元素。

2023-04-22 15:17:37 288

原创 vector容器基本用法

vector是将元素置于一个动态数组中加以管理的容器vector可以随机存取元素(支持索引值直接存取,用[]操作符或at()方法)vector尾部添加或移除元素非常快速,但在中部或头部插入元素或移除元素比较费时。

2023-04-22 10:53:16 171

原创 单片机数码管显示

本文章以B站江科大老师的视频而写,仅作为笔记,以便以后参考。

2023-04-14 18:41:37 2537

原创 单片机简单程序

单片机简单程序设计

2023-04-12 19:49:08 510 3

原创 Linux标准IO的输入输出

Linux标准IO的输入输出

2023-04-11 20:40:18 122

原创 LeetCode 4/2 递归练习(Java)

2.给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。1.给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。请你将两个数相加,并以相同形式返回一个表示和的链表。

2023-04-02 16:07:29 64 1

原创 Linux自动化变量(Makefile)

Linux自动化变量(Makefile)

2023-04-01 00:22:07 266

原创 如何使用Linux编写自己的命令?

如何使用Linux编写自己的命令?

2023-03-31 22:28:33 342

原创 C++类型转换

一般学校只学了强制类型转换(强转)const,但其实C++不止可以将基本数据类型转换,有父类和子类的转换,甚至还有整型转换为指针。所以,别再说C++只有强转了。

2023-03-19 20:51:18 65

原创 Java数据结构与算法-队列

队列,众所周知,先进先出。那么用Java如何实现呢?

2023-01-13 10:12:52 79

原创 Java中Date类的主要方法

Java中Date类的主要方法

2022-08-05 16:40:56 890 2

原创 Python中常用的(基本的)函数

Python中常用的(基本的)函数

2022-06-14 21:42:12 183

原创 Leecode 704.二分查找

Leecode 704.二分查找

2022-06-11 18:09:56 125

原创 C++如何无视空格输入一整行字符串

C++如何无视空格输入一整行字符串

2022-04-27 18:38:01 4812

原创 函数重载与函数模板

键盘输入10个数(可能为整形、浮点型、双精度型及其字符类型),分别利用函数重载和函数模板,求出其中的最大值和最小值。//函数重载#include <iostream>using namespace std;int max(int* a){ int r, i;//定义最大值r r = a[0]; for (i = 1; i < 10; i++) { if (r < a[i]) r = a[i]; } return r;}int min(int*

2022-03-24 16:17:34 1027

原创 掷骰子游戏设计(C++)

掷骰子游戏设计(C++)

2022-03-17 09:15:00 1508 4

原创 如何将变量放入数组中(约瑟夫环实例)

如何将变量放入数组中(约瑟夫环实例)

2022-03-16 15:55:26 4909 3

转载 C语言运算符优先级

1、最高级:出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。()圆括号[]下标运算符号->指向结构体成员运算符.结构体成员运算符2、第二级:!、~、++、--、-、(类型)、*、&、sizeof。这一级都是单目运算符号,这一级的结合方向是从右向左。比如出现*p++,这时*和++同级别,先算右边,再左边。所以*p++等价于*(p++),而不是(*p)++。3、第三级:+、-、*、/、%这一级都是算术运算符,结合顺序和数学学习中一致的,先乘..

2021-11-13 20:46:47 9315 3

原创 C语言第一课

本人学艺不精,欢迎大家前来指正,交流,学习(抱拳了)1)常量与变量常量 :啥叫常量呢?顾名思义,不变的量叫常量。在C语言中也是如此,常量即为在程序中不能改变其值的量。常量分为四种类型:整型,实型,字符型,字符串字面量。 整型:就是整数,例如-20, 30,0等(好理解吧?好理解) 实型:就是小数,例如3.14, 2.34,-2.00等(在C语言中叫浮点数) 字符型:用单引号括起来的任意字符,例如'x' ,'X' ,'10'等 字符串字

2021-11-07 15:23:00 148 1

空空如也

空空如也

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

TA关注的人

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