自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 wsl(Ubuntu 18.04 LTS)安装openCV3.4.16和openCV_contirb3.4.16

1.wsl安装教程可以按照下面教程进行安装,推荐使用Windows Terminal和wsl安装教程:https://www.jianshu.com/p/a20c2d58eaacWindows Terminal安装教程:https://blog.csdn.net/engrossment/article/details/1026231202.安装编译依赖环境2.1 安装cmake首先需要安装cmake,可以直接用apt-get进行安装,但是版本较低,也可以用源码进行编译安装,版本比较高,但是比

2021-11-12 18:00:43 5275

转载 Linux内核装载和启动一个可执行文件

1.可执行文件是怎么来的?(以C语言为例)C代码(.c) - 经过编译器预处理,编译成汇编代码(.asm) - 汇编器,生成目标代码(.o) - 链接器,链接成可执行文件(.out) - OS将可执行文件加载到内存里执行From C to running program[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N33VsNJZ-1634015070346)(https://raw.githubusercontent.com/Toyakoyo2018/picBed/m

2021-10-12 13:06:03 1002

原创 从输入url到浏览器显示的过程

1、在浏览器地址栏输入URL2、浏览器查看缓存,如果请求资源在缓存中并且新鲜,跳转到转码步骤如果资源未缓存,发起新请求如果已缓存,检验是否足够新鲜,足够新鲜直接提供给客户端,否则与服务器进行验证。检验新鲜通常有两个HTTP头进行控制Expires和·Cache-control:HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期。HTTP1.1增加了Cache-control:max-age=time,值为以秒为单位的最大新鲜时间。3、浏览器解析URL协议获取协议,主机

2021-09-14 12:46:07 366

转载 中缀表达式求值问题

中缀表达式的求值问题是一个比较常见的问题之一,我们通常在编写程序时,直接写出表达式让编译器去处理,很少去关心编译器是怎么对表达式进行求值的,今天我们来一起了解一下其中具体的原理和过程。表达式一般来说有三种:前缀表达式、中缀表达式、后缀表达式,其中后缀表达式又叫做逆波兰表达式。中缀表达式是最符合人们思维方式的一种表达式,顾名思义,就是操作符在操作数的中间。而前缀表达式和后缀表达式中操作符分别在操作数的前面和操作数的后面。举个例子:3+2这个是最简单的一个中缀表达式。而其等同的前缀表达式形式为+32,后缀

2021-09-10 17:10:55 1591

转载 堆与栈的关系与区别

栈具体地说,现代计算机(串行执行机制),都直接在代码底层支持栈的数据结构。这体现在,有专门的寄存器指向栈所在的地址,有专门的机器指令完成数据入栈出栈的操作。这种机制的特点是效率高,支持的数据有限,一般是整数,指针,浮点数等系统直接支持的数据类型,并不直接支持其他的数据结构。因为栈的这种特点,对栈的使用在程序中是非常频繁的。对子程序的调用就是直接利用栈完成的。机器的call指令里隐含了把返回地址推入栈,然后跳转至子程序地址的操作,而子程序中的ret指令则隐含从堆栈中弹出返回地址并跳转之的操作。C/C++中的

2021-09-09 17:06:06 179

原创 C/C++存储区域划分(栈区,堆区,全局区,代码区)

常见的C/C++语言两大版本内存区域分区:1.五大内存分区:堆、栈、全局/静态存储区、自由存储区和常量存储区。2. 五大内存分区:堆、栈、全局/静态存储区、字符串常量区和代码区。因为具体的内存分区与编译器有关,没有太大区别,我们粗略的将程序所占用的内存分为四个区域—栈区,堆区,全局区,代码区.每个程序都有唯一的四个内存区域.我们需要熟悉和了解各个区域的特性,例如存储什么类型的数据, 有谁去申请开辟, 又有谁去管理释放等等。一. 内存分配介绍1.栈区(satck)由编译器自动分配释放, 存放函数

2021-09-09 16:29:48 3307 2

转载 【计算机网络】详解网络层ARP和RARP

【计算机网络】详解网络层(二)ARP和RARPARPARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送。因此发送方还需要有接收方的物理地址,也就需要一个从IP地址到物理地址的映射,ARP就是事先这么功能的协议。1、ARP报文格式ARP是一

2021-09-09 11:41:01 2142

转载 DNS(域名解析协议详解)

DNS协议 我们之前已经了解过ARP协议。 如果说ARP协议是用来将IP地址转换为MAC地址,那么DNS协议则是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。 我们都知道,TCP/IP中使用的是IP地址和端口号来确定网络上某一台主机上的某一个程序,不免有人...

2021-09-09 10:51:20 327

原创 Mysql 自增ID用完了怎么办

如果你用过或了解过MySQL,那你一定知道自增主键了。每个自增id都是定义了初始值,然后按照指定步长增长(默认步长是1)。虽然,自然数是没有上限的,但是我们在设计表结构的时候,通常都会指定字段长度,那么,这时候id就有上限了。既然有上限,就总有被用完的时候,如果id用完了,怎么办呢?今天就一起来学习下吧。 自增id 说到自增id,相信你的第一反应一定是在设计表结构的时候自定义一个自增id字段,那么就有一个...

2021-09-07 09:49:11 118

转载 什么是跳表

在参考“跳表(skiplist)的理解”博客后听到跳表(skiplist)这个名字,既然是list,那么应该跟链表有关。 跳表是有序链表,但是我们知道,即使对于排过序的链表,我们对于查找还是需要进行通过链表的指针进行遍历的,时间复杂度很高依然是O(n),这个显然是不能接受的。是否可...

2021-05-21 11:47:23 177

空空如也

空空如也

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

TA关注的人

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