- 博客(37)
- 收藏
- 关注
原创 http状态码
http状态码HTTP状态码(响应码)用来表明HTTP请求是否已经成功完成.HTTP响应类型一共分五大类:消息响应,成功响应,重定向,客户端错误,服务器端错误.下表列出了所有HTTP状态码,以及他们各自所代表的含义:状态码 原因短语 代表含义 HTTP 版本消息响应100 Continue(继续) 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须在请求完成后向客户端
2024-10-17 13:53:52
432
原创 rtsp拉流
鉴权就是二次鉴权,第一次发送不带鉴权信息,server返回401,未鉴权。然后client收到401及鉴权方式,第二次发送带上鉴权信息及用户名密码,返回200OK和支持的方法。3、client端SETUP请求,包含请求打包方式,传输方式 server端返回200OK。2、DESCIRBE获取音频编码信息,server返回200K、音频、视频编码信息。马上下班了,今天先简单记录些RTSP协议拉流的流程。4、PLAY,确定开始播放时间,速度.200OK。1、OPTION-鉴权以及查询支持的信令。
2024-08-06 20:29:35
515
原创 OJ-黑百盒子
地面上画了N*N的格子,格子只有黑白两种颜色。现规定 如果 站在 白色格子里,则可以走到 上、下、左、右 相邻的某个黑色格子里;如果 站在 黑色格子里, 则可以走到 上、下、左、右 相邻的某个白色格子里。给定一个起始位置,请问 从该起始位置开始,最多可以 到达 多少个 格子, 包含 起始格子。
2024-06-29 15:45:39
437
原创 OJ-选座位
要考试了,小明需要去图书馆挑选一个座位来复习。小明需要找到一个位置,这个位置应距离任何已经落座的人尽可能的远(即与最近的人的距离尽可能的大)。图书馆的座位为一个N*M的矩阵,N表示总的排数,M表示每一排的座位数。元素0表示此座位没有人落座,1表示有人落座。
2024-06-29 15:42:19
445
原创 为什么linux下删除文件比window下删除的快?
Linux下的文件删除相对于Windows的删除来说速度更快,这是因为Linux是基于Unix的操作系统,而Unix是一种设计初衷就是要用于多用户同时使用、时间片轮转方式的操作系统。因此,Unix/Linus所采用的文件系统架构,其实就是为了数据的快速的读写、查询和文件管理而设计的,同时,与Windows系统不同的是,Linux的文件系统并不直接保存文件,而是保存文件的“节点”信息。所以,在删除文件时,Linux系统仅仅是通过删除文件节点的方式,来释放磁盘空间,因此删除速度相对较快。
2023-12-04 08:55:53
792
原创 .a文件和.so文件
这样,如果动态库有更新或修复,只需更新动态库文件即可,而不需要单独重新编译所有的可执行文件。总的来说,静态库文件在编译时被链接到可执行文件中,而动态库文件在运行时被加载。静态库文件会增加可执行文件的大小,而动态库则支持代码的共享和更新。静态库文件是编译时链接的库,它将所有需要的函数和符号都打包在一个文件中。在编译时,编译器将静态库的代码复制到最终的可执行文件中。使用静态库时,被依赖的代码会被复制到每个使用该库的可执行文件中。动态库文件是在运行时加载的库,它们不会和可执行文件一起打包。
2023-11-21 14:02:37
3276
2
原创 Git理解及常用操作
Git常用操作命令 1、常用操作命令 1.git clone GitLab Clone with SSH //(git clone 下载分支, ssh 地址可以直接从 project clone with ssh) git clone -b SSH //下载对应分支 2.git branch // 查看当前所在分支 3.git branch -a // 查看所有分支 4.git branch -D // 删除相关分支 ......
2022-08-29 14:26:32
1112
原创 C++默认的6个成员函数
C++默认的6个成员函数C++默认的6个成员函数1、构造函数2、析构函数3、拷贝构造函数4、赋值操作符重载5、const成员函数6、取地址及const取地址操作符重载C++默认的6个成员函数1、构造函数class Datepublic: void SetDate(int year, int month, int day) { _year = year; _month = month; _day = day; } void Display() { cout <<_ye
2022-01-05 13:06:46
362
原创 堆是线性结构吗?
堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。是树形结构,用一维数组存储,是非线性结构
2021-11-25 10:16:58
1955
原创 常见排序算法总结
在最近的备战考研中,关于各种排序算法的时间复杂度。辅助空间做一个总结。这里写目录标题冒泡排序鸡尾酒排序选择排序归并排序插入排序二分插入排序希尔排序堆排序快速排序我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 这
2021-11-07 21:21:27
243
原创 哈夫曼树的度
今天做王道题遇见一个:若度为m的赫夫曼树中,叶子节点个数为n,则非叶子节点的个数为(C)A:n-1 B:⌊n/m⌋-1 C:⌈(n-1)/(m-1)⌉ D:⌈n/(m-1)⌉-1最开始看见这题有个疑惑,根据书上的解释,赫夫曼树就是二叉树,其结点的度只有0和2两种,何来度为m一说,在查阅资料过后才知道赫夫曼除了二叉树,还有多叉树。对于度为m的赫夫曼树,有这样一个特点,其结点的度只有0与m两种。这种度为m的赫夫曼树的构造参照度为2的赫夫曼树,将权值最小的m个结点放在一
2021-08-26 16:21:16
11340
37
原创 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
我的思路是,肯定要用两个for循环来对这个数组进行,如果两次循环都从第一个开始,要注意不能把一个数用两次,所以从一个数的下一个开始更为合理,下面是我的答案:int* twoSum(int* nums, int numsSize, int target, int* returnSize){//注意力扣的输入是会自动识别的,*num 数组指针,numsize数组长度,target是要等与的值,returnsize是指返回的类型,两个数还是,0(找不到的情况), int *a = (int*)mall.
2021-03-28 23:22:39
666
转载 linux下GCC编程的四个过程
GCC编程四个过程:预处理-编译-汇编-链接在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。一、GCC快速入门Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out我们来看一下经典入门程序"Hello World!"vi hello.c#include <stdlib.h>#include <stdio.h>void main(void)
2021-01-25 11:43:53
416
原创 Linux下GCC编译C语言
Linux下GCC编译C语言1.创建一个.C文件# vi/vim hello.c2.编译name.c文件,生成可执行文件# gcc hello.c3.执行文件,在默认情况下产生的可执行程序名为a.out# ./a.out4.通常可以通过gcc的“-o”选项来指定自己的可执行程序名称。# gcc -o hello hello.c生成可执行文件 name 执行:# ./hello5.使用gcc的“-c”标记来编译支持库代码(对多个文件进行编译)# gcc -c hello.c输出结
2021-01-22 10:02:21
1893
3
原创 空瓶子换汽水问题
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?当我看到这个问题,我认为应该用递归,因为换来的饮料喝完之后可能还牵扯多次换的情况,我的解决方法有两种。一、可以理解为你每喝一瓶饮
2021-01-17 22:27:53
1545
原创 交通灯控制——汇编小设计
设计任务:设计一套十字路口的交通灯管理系统。按照顺序时间控制原则,利用中断控制器和定时器。采用定时中断方式设计实现。东西向和南北向均有红黄绿灯。具备倒计时功能。南北向通行时间20秒,准备时间5秒。在准备时间里黄灯闪烁3次,闪烁频率为1秒,周而复始。东西向通行时间40秒,准备时间5秒。在准备时间里黄灯闪烁3次,闪烁频率为1秒,周而复始。东西向参照下边的时序控制图。设计要求如下:硬件测试通过。8259能够实现中断。8254能够实现呼吸灯。8255能够控制L8—L15的亮与灭。交通灯控制程
2021-01-14 18:15:45
6103
1
原创 空地种草
小明有一块空地, 他将这块空地划分为n行m列的小块,每行和每列的长度都为1。小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。这些草长得很快,每个月, 草都会向外长出一些,如果一个小块种了草,则它将向自己的上,下、 左、右四小块空地扩展,这四小块空地都将变为有草的小块。请告诉小明,k个月后空地上哪些地方有草。输入格式:输入的第一行包含两个整数m,n。接下来n行,每行包含m个字母,表示初始的空地状态,字母之间没有空格。如果为小数点,表示为空地,如果字母为g,表示种了草。接下来包含一.
2021-01-14 18:04:18
247
原创 linux基础指令
Linux基础指令篇(自己的小笔记)1.ls指令功能:ls对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。-a 列出目录下的所有文件,包括以.开头的隐含文件-d 将目录像文件一样显示,而不是显示其下的文件。如:ls -d 指定目录-i 输出文件i节点的索引信息。如:ls -ai 指定文件-k 以k字节的形式表示文件的大小。例如ls -alk 指定文件 -l 列出文件的详细信息-n 用数字的UID,GID代替名称。UID
2021-01-13 20:34:51
156
原创 C语言实现五子棋
首先展示结果,这是运行以后出现的效果,在#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <string.h>#define MAXIMUS 15 //定义棋盘大小int p[MAXIMUS][MAXIMUS];//存储对局信息char buff[MAXIMUS * 2 + 1][MAXIMUS * 4 + 3];//输出缓冲器int Cx, Cy;//当前
2021-01-08 22:33:12
415
2
原创 Linux下的etc目录
/etc目录包含很多文件.许多网络配置文件也在/etc 中./etc/rc or/etc/rc.d or/etc/rc*.d启动、或改变运行级时运行的scripts或scripts的目录./etc/passwd用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息./etc/fdprm软盘参数表.说明不同的软盘格式.用setfdprm 设置./etc/fstab启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.L
2021-01-08 22:10:08
332
原创 VMware虚拟机安装详细教程
首先我们准备好这三个软件:CentOS 连接 网盘链接 提取码:81hpXShell 连接网盘链接 提取码:fgzoVMware网盘链接 提取码:5ycxVMware安装好之后,下载好我们要安装的操作系统的镜像文件后,此处安装的为centos7版本,就可以开始安装了。进入主页选择创建新的虚拟机##大家注意要让电脑开去虚拟化,在我的另一篇文章中,会讲到。因为我们算半个高级使用者了,当然选自定义。3.2开始装机插入光盘镜像挺久的可以去打一把游戏
2021-01-06 11:50:39
616
原创 汇编语言——>>步进电机
步进电机控制系统设计一个开环步进电机控制系统。使得步进电机能够正常运转。并能实现启停、正反转、调速控制。以及显示速度。2.设计要求如下:①硬件测试通过。接线完成。三个芯片分别测试通过。步进电机能够正常运转。②中断方式的转动。③启停。按KK1+键控制步进电机的启动。按KK2+键控制步进电机的停止。④正反转。开关K7控制步进电机的正反转。当K7向下拨时,电机正转(顺时针);向上拨时,电机反转(逆时针)。⑤在LED数码管上显示速度编号。K0对应1挡、K1对应2挡,其余类推。⑥调速。开关K6~K0分
2021-01-04 11:00:37
6544
1
原创 汇编语言小设计——抢答器
汇编语言与微机接口小设计——>抢答器(6路)随着电子技术的发展,计算机在现代科学技术的发展中起着更加重要的作用。各种技术都离不开计算机,计算机已经在人们生活的各个方面普及了。本课程设计是微机原理及接口技术的应用。运用所学的微机原理和接口技术知识完成六路竞赛抢答器。通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了六路抢答器出现的各种情况。该抢答器以主持人为中心,操作抢答器的开始与复位,选手们可以根据主持人的提示进行抢答,该抢答器基本能满足现在市场所需抢答器的需要,设计简单,成本低,适合
2021-01-04 10:37:29
6764
8
原创 汇编语言与微机接口——交通灯设计
这学期开了汇编语言与微机接口这门课,,那么什么是汇编语言呢?汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。我觉得汇编语言就
2021-01-04 10:30:27
3676
2
原创 操作系统之 动态分区分配与回收
算法思想:1.分区的个数和大小不是固定不变的,而是可变的,随装入的作业动态划分,且不会产生内部碎片。2.外部碎片:频繁的分配与回收物理页面会导致大量的、连续且小的页面块夹杂在已分配的页面中间,就会产生外部碎片。3.首次适应算法:在分配内存时,从链首开始顺序查找,直到找到一个大小能满足要求的空闲分区为止。然后再按照作业的大小,从该分区中划分出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中。若从链首直至链尾都不能找到一个能满足要求的分区,则表明系统中已没有足够大的内存分配给该进程,内存分配失
2021-01-04 10:05:40
7704
1
原创 操作系统之进程调度算法
操作系统中的进程调度算法进行分析:1.先来先服务算法(FCFS)先来先服务算法是按照作业到达的先后次序来进行调度,或者说是优先考虑在系统中等待时间最长的作业,而不管该作业所执行时间的长短,从后备作业中选择几个最先进入该队列的作业,将他们调入内存,为之分配资源和创建进程。然后把他们放入就绪队列。2.时间片轮转调度算法在时间片轮转调度算法中,系统根据FCFS策略,将所有的就绪进程排成一个就绪队列,并设置每隔一定的时间间隔产生一次中断,激活系统中的进程调度程序,完成一次调度,将CPU分配给队首进程,令其执
2021-01-04 10:02:34
1880
原创 vector的扩容机制是怎样的
#include<iostream>//#include<string>#include<vector>using namespace std;void test(){ vector<int> v; v.push_back(1); size_t capacity = v.capacity(); cout << "v2:capacity():" << capacity << endl; v.push_ba
2021-01-01 16:08:38
476
原创 银行家算法
1.1概述银行家算法是一种最有代表性的避免死锁的算法。把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现
2021-01-01 15:59:25
5259
4
原创 【c++系列】基础了解String类和标准模板库(STL)
文章目录1.泛型编程2.String类2.1 构造字符串2.2string类输入3.函数模板以及特化3.1 什么是函数模板3.2 函数模板的特化4.类模板及特化4.1 类模板4.2 类模板的特化5.模板分离编译6 模板总结1.泛型编程当你熟悉了c++可重用代码的目标,这样做的很大的一个回报就是可以使用别人的代码,这正是类库的用武之地。今天学习了标准模板库(STL),他是一组用于处理各种容器对象的模板。STL演示了一中编程——泛型编程。2.String类2.1 构造字符串 先了解string的构.
2020-11-10 17:29:32
210
原创 C和C++的动态内存管理的区别
[c++系列]C与C++之——动态内存管理文章目录前言1.C/C++内存分布2.C/C++语言动态内存管理方式2.1C语言的动态内存管理方式2.2C++的动态内存管理方式3.operator new 和 operator delete4.new和delete的实现原理5.解析new的表达式6.常见的面试题前言...
2020-11-04 17:29:06
954
1
原创 从类和对象开始学好C++
#学习C++,首先要了解的便是它和C语言的区别所在,很多的同学可能和我一样,学校是先开设了C语言,之后才开设的C++课程,因此学习C++之前,我们要明白:**1.C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。2.C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于
2020-10-22 19:57:10
299
原创 C语言简述
** C语言总体复习小结**c语言即使一门高级语言,也具有汇编语言的特点。大部分的程序员应该都是从C语言入手编程的。前几天拿起了大一的(谭浩强)C语言程序与设计对C语言总体上来个大致的总结吧,毕竟C语言详细说起来,这篇博客也写不下。算法结构:一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、fo...
2019-12-10 13:10:10
1054
原创 第一篇博客!!!
一:自我介绍我是来自西安工业大学的大二学生,专业是计算机科学与技术,大一学习C语言,再一次学校的软件技术大赛中接触到了前端,自学了一段时间的HTML/CSS/js,也就是前端三剑客,当时只是只接触前端一段时间说不上来是有多么喜欢,然后又在学校的网安协会接触到了安全方面的知识,放假去过SSC峰会啊,去看大佬打CTF啊什么的,可能本人比较喜欢去探索一些新事物吧,最近想学习C++方面的开发路线,好好...
2019-12-06 18:46:57
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人