自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL基础操作到存储过程

创建全文索引:create table qwsy(id int,name varcher(128) unique,teacher varchar(64),comment varchar(1024),fulltext index index_qw (comment));创建联合主键(一个表只能有一个主键):create table class(nianji char(2),banji char(2),name char(64),age int,PRIMARY KEY(nianji,banji));

2023-12-06 22:42:25 123 1

原创 简易的Tcp通信

客服端(客服端依旧先建立套接字,但是客服端只需要建立通信套接字)注意:服务器端需要建立两种套接字分别是,监听套接字和通信套接字。客服端只有一种套接字即通信套接字。在建立通信的时候要初始化套接字库。四、创建发送缓冲区和接收缓冲区。

2023-12-01 18:57:55 143 1

原创 关于QT提升部件后头文件不存在问题

因为将部件提升为自定义部件后,在编译时会去默认的路径下去找头文件,而自定义的头文件并不在默认路径文件下,而是在当前目录下,所以这个时候需要自己指定出自定义文件的文件路径,让编译器去指定的路径寻找文件。指定文件路径步骤:项目---.属性--->C/C++--->常规--->附加目录。将ui文件的部件进行提升后,编译报错:无法打开包括头文件。将指定目录添加后以“;

2023-11-19 15:54:07 1334

原创 创建自己的库文件

新建工程用来测试生成的库,将自己指定的文件添加到包含目录(引用头文件是就会去这个目录寻找)和库目录(使用库文件的时候就从这个目录寻找)(我们删掉main函数,因为sort.cpp文件是用来生成库文件的)下一步生成静态库,右键项目----->属性---->常规---->配置类型(选择静态库.lib)将MySdk.lib和sort.h文件复制到一个你指定的文件,我这里的文件路径为D:\MySdk。找到生成的lib文件,生成的文件路径在vs输出栏有显示。在将库文件添加到链接器----->附加依赖项。

2023-11-15 09:15:00 263

原创 io多路复用select/poll/epoll原理

在epoll的使用过程中首先通过epoll_create(size)创建一个eventpoll,在eventpoll中有两个主要成员,一个是rb_root rbr---红黑树的根节点,rdllist----就绪队列,然后在调用epoll_ctl()函数将传入的参数封装成一个epitem对象,然后在根据传入的op的参数来决定将执行对epitem在红黑树上的操作(插入、删除、更新等)同时注册一个回调函数。不同pc之间数据传递过程 网卡--- 内核空间(socket缓冲区)---用户空间。

2023-11-13 10:15:00 120

原创 常见容器之vector、map、unordered_map、list、deque

vector是一个动态数组,提供了连续的存储空间,他的底层实现使用了指针和内存管理来实现动态扩容,一般情况下,vector使用一个指针指向分配的内存块,并且还有两个迭代器(指向起始和结束位置),当向vector中插入元素时,如果当前内存空间不足回重新分配更大的内存,并将旧数据复制到新内存块中,这样可以保证vector元素是连续存储的,vector由于是基于动态数组实现,所以在随机访问、尾部插入和删除操作上有较高的效率。删除元素时 也需要按照相同的方式定位到目标元素所在的桶和位置,并进行删除操作,

2023-11-10 14:00:00 327 1

原创 程序编译过程

5、处理条件编译指令:条件编译指令如#if、#ifdef、#ifnde等用于根据条件选择性的包含或排除某 段代码。4、重复符号处理:当多个目标文件或库文件存在相同的全局符号定义是,连接器会进行冲突检测和消除,避免重复定义错误。5、优化:对生成的中间代码进行优化,以提高程序运行效率,优化包括消除冗余代码、减少内存访问次数、循环展开等。1、符号解析:遍历每个目标文件中的符号引用(函数、变量等),根据其名称在其他目标文件和库文件中寻找对应的定义。4、注释删除:移除代码中的注释部分。

2023-11-09 08:30:00 104 1

原创 MMAP内存映射原理

映射通俗将就是建立对应关系,内存映射及建立磁盘道内存之间的对应关系,但这里的内存是指进程逻辑地址空间,要映射的大小和映射到内存的大小是相同的。一般情况下对一个文件的读写操作都需要进行数据的拷贝,磁盘--->内核--->用户空间。完成磁盘到内存逻辑地址的映射后,当进程操作映射的内存区域时,由于磁盘文件只是逻辑加载到内存因此在进行逻辑地址到物理地址的转换时会引起缺页中断,而映射的磁盘文件并不是被swap此时就会根据mmap的映射关系将映射的磁盘文件读到内存。

2023-10-25 22:44:52 264 1

原创 (一)分布式文件系统存储引擎

随着网络购物的发展,各个电商平台上有上十亿的商品。每一个商品有包括大量的图片和文字(平均:15k),粗略估计下,数据所占的存储空间在1PB 以上,如果使用单块容量为1T容量的磁盘来保存数据,那么也需要1024 x 1024 块磁盘来保存.因此如果用传统的方式来存储商品的图片和文字信息显然是不能满足要求的,为了解决这个问题,研究人员设计出了针对海量非结构化数据存储的分布式文件系统TFS,它构筑在普通的linux机器集群上,可为外部提供高可靠和高并发的存储访问。

2023-10-24 23:32:37 238

空空如也

空空如也

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

TA关注的人

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