自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统真相还原-编译遇到“__stack_chk_fail_local”错误

编译遇到“__stack_chk_fail_local”错误

2022-12-16 12:26:05 1102 3

原创 操作系统真相还原-x86汇编-archlinux配置开发环境

x86汇编-环境配置archlinux

2022-12-15 22:26:41 540 1

原创 体验-完整分布式存储系统MatrixKV

分布式存储系统MatrixKV

2022-07-19 11:25:09 279

原创 MyTinySTL学习-分配器

一. 学习中遇到的问题1. forward和move1.1. move假如有一个class A, 带有一个set函数, 可以传两个参数赋值class里的成员变量:class A{...};void A::set(const string & var1, const string & var2){ m_var1 = var1; //copy m_var2 = var2; //copy}下面这个写法是没法避免copy的, 因为怎么着都得把外部初始的strin

2021-12-14 15:30:05 809

原创 TCP三次握手和四次挥手

一. TCP概述通过TCP/IP协议的学习,我们可以了解到--TCP是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接(三次握手),传输完毕后要断开连接(四次握手)。二. TCP三次握手TCP头部结构: 1 序号:Seq序号(32位),用来标识从计算机A发送到计算机B的数据包的序号,计算机发送数据时对此进行标记。2 确认号:Ack确认号(32位),Ack = Seq + 1。3 标志位:每个标志位占用1Bit,分为 URG、ACK、PSH、RST、SYN、FIN,具体含义

2021-10-14 19:26:38 962

原创 c++类继承

一. 引言继承自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类,比设计新类要容易的多。二. 什么是继承当一个类被其他的类继承时,被继承的类称为基类,又称为父类。继承其他类属性的类称为派生类,又称为子类。三. 三种继承方式公有继承公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包括继承的公有成员),访问不了保护成

2021-08-18 10:01:17 250

原创 C++中构造函数、析构函数

构造函数没有返回类型(同时也不可写void),函数名称 与 类名相同,可以发生重载,可以有参数构造函数的功能是对对象进行初始化,因此在构造函数中只能对数据成员做初始化构造函数可以在类内定义也可以在类外定义在程序运行时,当新的对象被建立,该对象所属的类的构造函数自动被调用,在该对象生存期中也只调用这一次。如果程序中不声明构造函数,那么系统会默认生成一个构造函数cow.h#include <iostream>class Cow{ char name[20];

2021-08-16 10:33:32 221

原创 C++名称空间

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字就是针对这种问题而出现的。一.传统名称空间声明区域: 可以在其中进行声明的区域。 例如:可以在函数外面声明全局变量,对于这种变量,其声明区域为其声明所在的文件中。对于在函数中声明的变量,其声明区域为其声明所在的代码块.潜在作用域: 变量的潜在作用域从声明点开始,到其声明区域的结尾。

2021-08-12 17:31:40 245

原创 聊天室项目(二)-总结

聊天室聊天室基于C/S模型设计一. 功能: 1. 登录、注册 2. 好友的增、删、查、屏蔽、私聊、查找聊天记录 3. 群的增、删、查、设置管理、群聊、踢人 4. 文件传输 5. 支持部分离线二. 概述 聊天室基于C/S模型设计,所用数据库为MYSQL,服务端用到epoll+单线程实现,客户端分两个线程-一读一写1 服务端 运用了epoll+单线程 1 第一先处理连接请求,事件请求等待2 若文件描述符可读则处理此事件2 客户端 开了两个线程,一个接收服务器发的包,一个向服务器发

2021-08-05 15:11:14 440

原创 聊天室项目(一)-展示

聊天室功能展示聊天室要求:1 . 项目简述实现Linux环境下的简易聊天室,采用C/S模型,实现多客户端之间的稳定数据传输。可参考QQ、微信功能。2. 项目需求功能后的与代表选做,其中代表难度比大。 选做必须选几项1.账号管理登录、注册 找回密码 * 数据加密 *2.好友管理私聊(实时性)好友的添加、删除、查询查看好友列表显示好友状态(在线与否)查看聊天记录屏蔽好友消息3.群管理群聊(实时性)群的创建、解散(群主才有的权限)查看已加群、查看群成员查看聊天记录

2021-08-05 15:10:36 519

原创 聊天室项目(0)-问题

一. 密码加密因为在linux下没有getch()函数,所以就实现了一个在linux下的getch()实现的思路(参考了网上代码):   总体来说就是设置终端的属性   设置为原始模式,这种模式下输入就是无缓冲的,设置过去,输入完之后然后再更改回来   主要就是两个函数 tcgetattr()和tcsetattr()tcgetattr和tcsetattr说明int tcgetattr(int fd, struct termios termptr);/ 获取终端属性*/int tcset

2021-08-05 15:09:12 181

原创 Linux下线程经典问题(生产者消费者问题,哲学家问题...)

线程经典问题本月任务一. 解决生产者消费者问题二. 解决哲学家吃饭问题三. 实现进程池/线程池生产者消费者问题问题:生产者消费者共享缓冲区,生产者向缓冲区中放数据,消费者从缓冲取中取数据,当缓冲区中被放满时,生产者进程就必须进入挂起状态,直到消费者从缓冲中取走数据时,生产者才能继续向缓冲区中存放数据,同样当缓冲取中没有数据时,消费者进程就必须进入挂起休眠状态,直到生产者向缓冲区中放入数据时,消费者才能被唤醒继续从缓冲区中取走数据。生产者消费者问题,也称有限缓冲问题,是一个多线程同步问题的经典案

2021-06-08 13:37:28 301

原创 编写my_shell

编写my_shell基本需求:实现 管道(也就是 | )实现 输入输出重定向(<> >>)实现 后台运行( &)(ps:linuxc上的&实现其实并不是真正的后台运行,可以考虑一下为什么)实现 内建命令(cd )屏蔽一些信号(如ctrl + c 不能终止)通过设置环境变量 可以直接使用 (在任意地方都可以运行你的shell)界面美观进阶需求:实现 tab补全 (提示:使用readline库)实现内置命令history实现光标的移动在编写m

2021-05-05 17:16:58 396 1

原创 鸟哥第十章 认识与学习BSAH总结

认识与学习BASH重点知识由于内核在内存中是受保护的区块,因此我们必须要通过【shell】将我们输入的命令与内核沟通,好让内核可以控制硬件来正确无误地工作。学习 shell 的原因主要有:命令行模式的shell在各大Linux发行版都一样;远程管理时命令行模式速度较快;;shell是管理Linux系统非常重要的一环,因为Linux中很多管理命令都是以shell编写的。操作系统合法的shell均写在**/etc/shells**文件中。用户默认登录取得的shell记录于**/etc/passwd*

2021-04-28 16:52:48 1014

原创 实现linux下 ls命令 (-a,-l,-R,-r,-i)

ls各个命令的功能-a : 显示所有文件,连同隐藏文件一起列出来-l : 一行只显示一个文件的详细信息-R: 递归输出文件-r : 逆序输出文件名-i : 输出文件的 i 节点的索引信息遇到的问题:一. 需要用到的结构体:DIR,dirent,passwd,group结构体1.DIR结构体: struct __dirstream { void *__fd; char *__data; i

2021-04-01 20:14:13 2728

原创 小组18,19,20面试题总结

2018年面试题第三题 static关键字static int a = 2018;static void func(void){ static int b; printf("a = %d,b = %d\n",a++,b++);}int main(){ func(); func(); func(); return 0;}结果为a = 2018,b = 0a = 2019,b = 1a = 2020,b = 2static全局变

2021-02-25 16:15:56 181

原创 鸟哥第十章

第十章总结看了一遍之后还是有很多不明白的地方,需要多次实操1.由于核心在内存中是受保护的区块,因此我们必须要通过“Shell ”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作2.学习shell的原因主要有:命令行的shell在各大distribution都一样;远端管理时命令行速度较快;shell是管理Linux系统非常重要的一环,因为Linux内很多控制都是以shell撰写的。3.系统合法的shell均写在/etc/shells文件中;4.使用者默认登陆取得的s

2021-02-18 14:50:36 1138

原创 linux第七章总结

linux第七章总结每个文件都会占用一个inode,文件内容由inode的记录来指向;想要读取该文件,必须要经过目录记录的文件名来指向到正确的inode号码才能读取。(文件名只与目录有关,但文件内容则与inode有关)熟悉了熟悉gdisk, parated, umount, swapoff等指令(swap等指令还不太会用,还需要继续熟悉)第七章一个可以被挂载的数据通常称为“文件系统,filesystem”而不是分区基本上Linux的传统文件系统为Ext2,该文件系统内的信息主要有:  ~s

2021-01-28 19:18:03 204

原创 Linux第五章知识总结

Linux 第五章学习总结本周学到新知识1.终端输入 su - 切换到root用户,若想离开su指令环境,则用exit2.有“. ”为开头的为隐藏文件,需要使用 ls -a这个-a的选项才能显示出隐藏文件的内容==(以前碰到过这种问题,不会解决,现在明白了,文件是隐藏了,不是不见了)==,而使用ls -al才能显示出属性。Linux的每个文件中,可分别给予使用者、群组与其他人三种身份个别的 rwx权限;利用ls-l显示的文件属性中,第一个字段是文件的权限,共有十个位,第一个位是文件类型, 接下来

2021-01-22 12:54:53 143

原创 单链表的逆置算法

单链表的逆置学会了逆置单链表结构体#include <stdio.h>#include <malloc.h>typedef struct node{ int data; struct node *next;}list,*plist;建立链表代码plist create(plist head){ plist p,q; int n; head=(plist)malloc(sizeof(list)); head-&g

2021-01-08 18:09:16 4763

原创 周总学习

周总学习代码快速排序在一串数中,先选一个数作为基准数,之后将比基准数小的数放在基准数左边,将比基准数大的数放在基准数右边,之后再处理两边的序列。以此类推,直到序列由升序(或降序)排序。# include <stdio.h>int a[101],n;void quicksort(int left,int right){ int i,j,t,temp; if(left>right) return; temp = a[left]; //te

2021-01-04 19:11:03 98 1

原创 函数,结构体,链表简单总结

@[TOC]函数,结构体,链表简单总结函数 数据类型 函数名(形参说明表){ 说明语句序列; 可执行语句序列; }1.函数的”数据类型”指出该函数通过return返回值的类型,除了常用的各种数据类型如int、float、char等外,还有一种特殊类型即void,void型函数无返回值2.函数的形参表由一个或多个形参组成,多个形参彼此之间用逗号隔开。也可以没有形参,但函数名后的()不能省略。3.对于void型函数不能包含return语句,其它类型的

2020-12-17 23:12:15 242

原创 代码学习,一周总结

学习总结从面试开始,学会了海涛数列,二进制的一的个数代码,素数和代码,还有经过一个星期的学习,将循环掌握的更好了,还学会了更多的代码,了解了入门级别的算法1.学会螺旋数组的输出# include <stdio.h>int main(){ int n,i,j,k,b=1,a[200][200]; scanf("%d",&n); for(k=0;k<n/2;k++) { for(i=k;i<=n-k-1;i++) a[k][i]=b++; for

2020-11-29 20:03:21 320

空空如也

空空如也

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

TA关注的人

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