自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】坐标系中两个矩形的重合面积

leetcode 3047. 求交集区域内的最大正方形面积确定矩形的坐标:假设我们有两个矩形 A 和 B,它们的左下角和右上角坐标分别为:计算重叠区域的坐标:检查是否有重叠:计算重叠区域的面积:

2024-09-25 22:48:39 132 1

原创 打开浏览器访问百度,整个过程发生了什么

至此,以上就是浏览器访问百度的详细过程。

2024-06-18 00:06:35 1599

原创 【Docker】 docker-compose时docker-compose.yaml 文件的版本报错

至此问题解决,对于版本是version 3 的docker-compose.yaml文件可正常运行docker-compose。将下载好的二进制可执行文件存入/usr/local/bin/docker-compose。输入命令查看docker-compose的版本以检查是否安装成功。然后,为了确保它是可执行的,运行以下命令添加执行权限。根据自己宿主机的型号下载所需的版本。

2024-06-11 23:34:04 1621

原创 【Linux】Ubuntu18.04 cmake更新

本方法为从 Kitware 的 APT 仓库安装最新版本的CMake。

2024-06-01 19:29:04 383

原创 CMake的两种常见的构建类型

这种构建类型旨在最大程度地优化代码以提高性能。它通常会启用各种编译器优化选项,例如函数内联、循环展开和代码消除。此外,通常会禁用调试符号,这会使得生成的可执行文件更小且执行速度更快。Release 版本的程序通常不包含额外的调试功能,因此不太适合进行调试。: 这种构建类型通常用于开发和调试阶段。它包含了调试符号,并且编译器通常不会进行优化,这使得生成的可执行文件更大但更易于调试。此外,通常会启用额外的调试功能,例如运行时检查和断言。

2024-05-24 01:18:20 124

原创 【Linux】ubuntu18.04换源及基本开发环境配置

配置Samba可以在Linux系统上创建共享文件夹,使Windows或其他操作系统上的用户可以访问这些共享文件夹,并进行文件的读写操作。打开/etc/samba/smb.conf,即Samba配置文件,定义共享文件夹、权限。右键文件夹,点击“映射网络盘符”,选择一个驱动器,将共享文件夹映射为网络盘符。打开/etc/apt/source.list,清空,将下列源加入,保存退出。新建文件夹share,这个文件夹就是将要共享的文件夹,并修改权限。在框中输入 \\ + 虚拟机的ip地址,即可看到共享文件夹。

2024-05-21 19:02:54 1143

原创 【C++】sort 函数自定义比较函数

在C++中,当在 sort 函数中使用自定义的比较函数时,这个自定义的比较函数可以是静态(static)成员函数,也可以是全局函数,还可以是lambda表达式。这主要是因为静态成员函数没有隐含的this指针。sort 函数需要的比较函数是一个二元谓词,它只关心两个参数之间的比较,而。另外,静态成员函数还有一个优势是可以直接通过类名调用,而不需要通过对象实例。因此,如果你将比较函数声明为静态成员函数,就可以确保它不会访问任何实例特定的数据,这样更加安全和通用。406. 根据身高重建队列。

2024-05-17 01:18:20 435

原创 【C++】Floyd算法

它以罗伯特·弗洛伊德(Robert Floyd)的名字命名,他在1962年独立发现了该算法,并以斯蒂芬·沃沙尔(Stephen Warshall)的名字描述了用于找到图的传递闭包的版本。:对于每一对顶点 (i, j),以及可能的中间顶点k,检查是否可以通过k点使得从i到j的距离更短。具体来说,就是对于每个顶点k,遍历所有的顶点对(i, j),并检查是否存在一条路径从i到k再到j的距离小于直接从i到j的距离。该算法通过迭代更新一个n×n的矩阵,其中包含图中所有顶点对之间的最短路径距离,其中n是顶点的数量。

2024-05-17 01:02:45 445

原创 【C语言】malloc vs calloc

malloc() 和 calloc() 都是用于在C语言中动态分配内存的函数。

2024-05-14 01:55:23 268

原创 VMware ubuntu16.04添加虚拟网卡&配置动态ip

VMware ubuntu16.04添加网卡&配置动态路由。

2024-04-29 16:54:29 478 3

原创 DPDK 19.08.2 环境配置以及编译错误解决

DPDK(Data Plane Development Kit)是一个开源的数据平面开发工具包,主要用于高性能数据包处理。它提供了一组优化的用户空间库和驱动程序,以帮助开发者构建高性能、低延迟的数据平面应用程序。DPDK广泛应用于网络功能虚拟化、云计算、边缘计算、高性能计算等领域,以满足对网络数据处理速度和效率的高要求。下载到Windows之后,一定要将压缩包转移到Linux系统下进行解压(不能在Windows系统下解压然后复制到Linux系统,复制的过程会报错)解决方法:执行命令获取numa.h头文件。

2024-04-23 09:27:28 577

原创 【数据结构】C++字典树

即字典树,也称前缀树,是一种哈希树的变种。是一种用于快速查询某个字符串/字符前缀是否存在的数据结构。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。208. 实现 Trie (前缀树)二、数据结构代码实现。

2024-04-16 21:34:02 361

原创 【Leetcode】网格类DFS框架

为了避免搜索重复遍历,我们需要将遍历过的节点进行标记,此题的方法是遍历过一个节点之后将该节点grid的值改为0。这类岛屿问题的重点在于网格类DFS框架的使用,其中。尤为重要,做好这两点可以使代码更加简洁高效。

2024-04-15 12:00:48 217 1

原创 【C++】异或运算

两个数进行异或运算,若两数相同为0,不同为1。

2024-04-10 19:17:29 945 1

原创 【tcp状态转移】tcp实现p2p双端通信

自己手写一遍真的能加深对tcp协议状态转换的理解。示例代码使用tcp通信实现。

2024-04-03 19:31:24 337 2

原创 【Linux网络编程】poll和select的共同点和区别

总的来说,尽管poll和select在功能上相似,但它们的底层实现和使用上有所不同,poll在处理大量文件描述符时更为灵活和高效。poll和select都是Unix系统下用于处理多个文件描述符的系统调用,它们允许程序监控多个文件描述符的状态,以确定是否有输入数据可读、是否可以写入数据或者是否有错误发生。select的超时参数是一个整数值,表示调用应该等待的秒数,而poll的超时参数是一个结构体,提供了更高的时间精度。select的底层实现限制了文件描述符的数量,通常限制为。

2024-03-24 20:23:23 217 1

原创 【网络编程】关于select的缺点和局限性

select 是一个事件驱动的机制,但它只能监视读、写和错误三种类型的事件。对于其他类型的事件(如新连接的到来),select 是无法处理的。,这可能会导致性能问题,特别是当需要监视大量的文件描述符时。select 使用 fd_set 数据结构来存储文件描述符,这个数据结构的大小是固定的。select 通常与阻塞 I/O 一起使用,如果需要使用非阻塞 I/O,你可能需要额外的代码来处理。当需要监视的文件描述符数量增加时,select 的性能可能会下降,因为。对于某些应用,这可能不够精确。

2024-03-24 12:58:28 369 1

原创 【网络编程】epoll的事件管理底层实现原理

epoll的事件管理在底层主要依赖于 Linux 内核中的数据结构,特别是(用于存储需要监听的文件描述符)和(用于存储发生的事件)。

2024-03-23 15:26:10 415

原创 【编译错误】预编译错误、编译错误和链接错误区别

预编译错误、编译错误和链接错误是在软件开发过程中常见的三种错误类型,它们发生的时间顺序是依次的,分别对应了不同阶段的代码检查和处理。

2024-03-21 23:25:00 262 1

原创 【socket网络编程】项目思考

可以这么理解,最开始创建的serversockfd相当于是迎宾的小姐姐,而后面创建的clientfd是柜台服务的小姐姐,clientfd跟客户端是一对一的关系。4. 函数close会把套接字描述符指向的套接字结构的引用计数减1,当引用计数为0的时候,系统将关闭套接字,所有的进程都不能再访问这个套接字。fd, 标准输入、标准输出和标准错误的文件描述符分别是 0、1 和 2。,在没有请求连接信息到来,或是连接通道没有消息传来的时候,进程会保持阻塞状态,直到收到对应的消息到来。

2024-03-21 23:22:39 185 1

原创 【Linux】文件描述符

在 Unix 和类 Unix 操作系统(如 Linux)中,文件描述符(File Descriptor)是一个用于标识已打开文件或其他 I/O 对象的整数。当程序启动时,这些文件描述符通常会被打开,分别用于标准输入(键盘输入)、标准输出(终端输出)和标准错误(终端错误输出)。当程序打开一个文件或建立一个 I/O 通道时,操作系统会返回一个文件描述符,用于标识该文件或通道。:在进程间通信(如管道、套接字)中,可以通过文件描述符传递机制将文件描述符从一个进程传递到另一个进程。文件描述符通常是一个。

2024-03-21 23:08:10 295

原创 【Linux】常用命令

以获取与域名相关的信息,如域名对应的 IP 地址、域名的 MX 记录(邮件交换记录)、域名的 NS 记录(域名服务器记录)等。在交互式模式下,用户可以输入多个查询命令,而在非交互式模式下,用户只需输入一个查询命令即可获取结果。:查询指定域名的 NS 记录,以确定该域名的域名服务器。:查询指定域名的 MX 记录,以确定邮件服务器的配置。:最常见的用途是将域名解析为对应的 IP 地址。将返回该域名对应的 IP 地址。将返回该 IP 地址对应的域名。将返回该域名的域名服务器记录。将返回该域名的邮件交换记录。

2024-03-21 14:34:14 181

原创 【算法】前缀和&差分

前缀和与差分数组

2023-12-14 17:03:11 390 1

原创 【Java】语法笔记

个人自学笔记

2023-03-18 18:11:22 77 2

西电微机原理课设源码(仅供参考)

课题五:点阵式 LCD 动态显示系统设计 通过键盘操控,在液晶屏上实现西安地铁六号线的站名切换。具体实现下一站、到站的切换。上下行切换、插入广告,滚动播报下一站站名。

2024-04-22

西电计网实验报告(仅供参考)

西电计网实验报告,内容包括: 实验一:网络基础知识及双绞线制作访问配置网络设备实验 实验二:交换机VLAN相关实验 实验三:Windows下DNS、DHCP服务器配置 实验四:Windows下WEB、FTP服务器配置 实验五:路由器基础配置实验 实验六:静态路由和三层交换机配置实验

2024-04-15

tcp实现跑p2p点对点通信demo

tcp实现跑p2p点对点通信demo

2024-04-03

空空如也

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

TA关注的人

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