- 博客(24)
- 收藏
- 关注
原创 Ubuntu无法播放MP4格式视频问题的解决
历经3天艰苦卓绝的尝试,期间直接将虚拟机玩崩了一次,今天终于是弄好了啊。开始是按照该博主的文章,安装了FFMPEG:(1条消息) Ubuntu 18.04 安装FFmpeg_假装很坏的谦谦君的博客-CSDN博客_ubuntu18安装ffmpeghttps://blog.csdn.net/qq_38863413/article/details/105017775 安装完成之后,能够通过命令行ffplay进行MP4格式的视频播放了,但是,直接点击视频,还是无法进行视频播放。...
2022-05-10 16:30:37 2990
原创 汇编基础概述
1 汇编概述 机器能够直接读懂的语言是机器语言(指令),本质上是可执行的二进制代码,用机器语言编程会要命的。为了便于编程,就出现了汇编语言,汇编语言本质上是和机器语言一一对应的,每一句汇编都能够转化成一句机器语言。汇编语言由三个部分组成:2CPU概述中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令...
2022-04-06 17:20:33 1697
原创 数据结构刷题-栈
20给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true来源:力扣(LeetCo...
2022-03-22 21:00:09 157
原创 数据结构刷题-数与位
7给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer自解int reverse(int x){ if(x >-10 && x &...
2022-03-22 20:27:16 83
原创 TCP协议
1 TCP概述2 TCP协议的实现2.1 TCP协议的可靠数据传输 TCP协议的ACK和GBN协议是一样的,都是累加式的,即ACK之前的数据都已经收到了,接收方返回的ACK就是下一个希望接受到的。 如果发送方一直从接收方接受同一个ACK,就说明这个数据很有可能丢了,因为接收方一直跟我说,我要这个我要这个,你给的不对,哈哈哈哈。2.2 TCP流量控制 如果RcvWindow=0,发送方会持续...
2022-03-15 19:56:55 498
原创 可靠数据传输
1 UDP实现可靠数据传输UDP具有无需建立连接,延迟小,速度快等优点,但是其提供的服务较差,没有TCP的多,那么UDP是如何实现可靠数据传输的呢。一般来说,如果传输层采用UDP协议,应用层就需要增加一定的可靠性机制。同时UDP也有自己的简单的可靠性机制,UDP校验和。2 RDT协议的设计 可靠数据传输协议,是位于传输层的协议,向上提供服务给应用层,向下,使用网络层链路层等传输数据,其接口如下图所示:2.1 RDT ...
2022-03-15 11:31:54 3215
原创 Socket编程
1 什么是API经常听说API,那么API到底是个什么东西啊?通俗点讲,就是操作系统提供的一系列方法,按照正确的协议和格式,去调用这些方法,就能实现对操作系统的调用(可能是这样的吧)。在网络编程中,应用层通过应用层协议,来完成应用进程间的通信,但是这些信息的传送,就需要用到操作系统来控制了,从应用层到传输层,就是从应用进程到操作系统了,需要使用到API,而网络编程中常使用的API就是socket套接字了。2 Socket 应用层中可能会有多个进程,那...
2022-03-12 21:21:53 3526
原创 DNS概述
1 DNS是干什么的在之前的学习中已经知道了,互联网中可以由IP地址唯一标识一台主机,在WEB中,URL的域名,也能唯一标识一台主机,那么如何将域名和IP地址之间完成映射了?这就要使用到DNS了 DNS作为一种分布式数据库,客户端每次请求,都需要进行多次查询。 本地域名服务器,不属于DNS分布式中的一层,但是,他相当于一个代理,当客户端主机进行查询的时候,都会先将查询发送到本地域名服务器,由本地域名服务器转发给DNS进行查询...
2022-03-12 19:54:30 1339
原创 WEB应用与HTTP
1 WEB简介进程一般使用IP+端口号来定义唯一标识符,而在WEB中,所有的对象都使用URL来进行唯一标识。其中,Scheme为协议,一般省略的话就是HTTP,中间为主机的名字,后面就指向一个文件。原来这就是URL,早有耳闻。WEB所遵循的应用层协议就是HTTP,超文本传输协议 所使用的传输层协议为TCP传输协议2 HTTP2.1 HTTP连接类型 HTTP有两种连接类型:2.1.1 非持久性连...
2022-03-11 20:26:50 909
原创 计算机网络-应用层
1 应用层的体系结构应用层分为三种结构:客户机/服务器结构(c/s)、点对点结构(P2P)、混合结构1.1 客户机/服务器结构这种结构的特点就是,客户机给服务器发送请求,然后由服务器发生响应。客户机与客户机之间是不能直接通讯的。1.2 P2P结构P2P对比CS结构,其有点是高度可伸缩,缺点是难以管理。混合式结构结合了P2P和CS结构的优的,比如Napster的文件传输使用P2P结构,文件搜索采用CS结构2 应...
2022-03-11 15:58:02 4977
原创 计网基础知识
1.ISP网络基本组成2.网络协议 硬件(主机、路由器、通信链路等)是计算机网络的基础。计算机网络中的数据交换必须遵守事先约定好的规则。网络协议:是进行网络中的数据交换而建立的规则、标准、约定。 网络协议有三个基本的要素: 1.语法:定义了数据与控制信息的结构与格式(底层信息的话就定义了信号电平) 2.语义:即需要发出何种控制信息,完成何种动作以及作出何种响应 3.时序:定义了通信的事件顺序与速度匹配。...
2022-03-09 13:01:55 1235
原创 使用nl与cat打印的一个小坑
一般来说,空白行打印时,其表示方式为'^$',行首到行尾,中间没有任何字符。 使用grep -v '^$'就能够去除空白行了 但是!!!!!! 当使用nl进行打印时,由于输出了行号(或者其他一些目前我还不知道的原因,此处只是猜测),导致了空白行并不是'^$'而是'^I$'(使用cat -A打印),这就导致了使用nl输出行号时,不能够使用grep -v '^$'删除空白行了。 记录下下,后面要是解决了这个问题再来回收~...
2021-12-21 17:08:00 105
原创 数据结构刷题-链表
203自解给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(str...
2021-10-29 20:19:34 247
原创 数据结构刷题-数组
485自解:给定一个二进制数组, 计算其中最大连续 1 的个数。int findMaxConsecutiveOnes(int* nums, int numsSize){ int count = 0; int Max = 0; for(int i = 0; i < numsSize; i++) { if(1 == nums[i]) { count++; } ...
2021-10-29 16:51:39 129
原创 C语言数据的存储
1. 整数在内存中的存储 int型整数在计算机存储中占用4个字节,但是正数与负数的存储形式不同。1.1 原码反码补码 计算机中,整数的三种表示方法为:原码、反码、补码,并且最终存储的是整数的补码。三种表示方法均为有符号位和数值位两部分,其中,符号位都是用0表示正,用1表示负。其中,正数的原反补码相同。 原码为将整数带符号直接转换为二进制。负数的反码为符号位不变,数值位按位取反;补码为反码加1. 计算机采用补码存储整数是因为,计算机...
2021-10-19 21:10:42 323
原创 C代码规范性与可读性
0.一定要给关键的位置写注释;1.在使用指针时,需要首先判断指针的有效性,如不等于NULL;2.报错时可以考虑使用assert()函数进行报错提示;3.习惯使用const修饰变量;
2021-10-18 21:09:45 136
原创 C语言指针学习
1. 初识指针 指针实际上就是地址,直线变量的存储位置,在32位系统中,一共由32根地址线组成,每根线独立表示0和1,每个地址是1个字节8位。为了表示这32位地址线,需要4个字节,因此,在32位系统中,指针变量大小即为4字节。 指针的类型决定了指针进行解应用操作时,能访问的空间大小。int型能访问4个字节,char型只能访问一个。同时,指针类型决定了:指针+1 所跳过的字节个数。如int* p, p+1则相当于p后面4个字节的地址。...
2021-10-12 22:17:17 80
原创 C语言操作符学习
除法操作符/,在使用时,如果除数与被除数都为整数,则进行整数除法,得到商和余,例如:int a = 5/2;float a = 5/2; 得到的结果为a = 2;及时a为浮点型,得到的结果也为2.000000 只有当5或者2中有一个为小数时,才进行小数除法,得到除法结果,比如:float a = 5/2.0; 得到的结果a=2.500000....
2021-10-07 21:44:40 68
原创 通过函数递归,实现简单的扫雷小游戏
主函数:#define _CRT_SECURE_NO_WARNINGS 1#include "gamefounction.h"void game(){ while (1) { //打印菜单 menu(); int choice = 0; printf("请输入:"); scanf("%d", &choice); switch (choice) { case 1: gameplay(); printf("是否继续游戏?\n");
2021-10-07 21:27:26 250
原创 C语言数组学习知识点
1.数组初始化在初始化数组时,[]内的值,只能是一个常量,不能是变量。 在初始char类型的数组时,如下两种初始方式是存在一定的区别的:char arr1[5] = {‘a’, 'b'};char arr2[5] = "ab"; 虽然两种数组最后初始化后,数组元素都为ab000;但是通过第二种方式进行初始化后,元素ab之后的0,实际上是\0。...
2021-09-29 19:23:09 60
原创 C语言函数学习知识点
函数中的数组 在函数的声明中,值得注意的是,函数形参为指针时,并且在函数的调用过程中,将数组元素作为实参时,传递的实际为数组首个元素的地址,因此,当使用数组名作为函数的实参时,有如下需要注意的:int add(int a[]){ int sum = 0; int sz1 = sizeof(a)/sizeof(a[0]); for(int i = 0; i < sz1; i++) { sum += a[i]; }}...
2021-09-10 16:26:10 69
原创 C语言分支与循环
if语句部分知识点:int age = 10;if(18<= age <28) printf("青年\n"); 输出的结果为青年:因为代码执行时,从左到右执行,会先执行代码 :18<= afe 该条件判定为假,即为0。然后执行代码:0 < 28 该条件判定为真,因此if语句括号内为真,执行printf....
2021-09-03 20:36:08 65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人