自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu18.04配置gitbook

有时候被gitbook墙,那我们就部署静态网页来获取书籍安装安装nodejs安装gitbook,sudo npm install gitbook-cli -g如果没有root权限会报错成功会有把gitbook软链接到bin:sudo ln -s /usr/local/lib/nodejs/bin/gitbook /usr/local/bin/gitbook查看gitbook版本:gitbook -V失败了StackOverflow上说是gitbook-cli引用了旧版

2020-12-18 21:57:19 322 2

原创 ubuntu18.04配置Typora安装PicGo在Gitee上部署图床

写文档时发md给学姐,配的图片不能在另一台机子上显示。我大意了啊没有学,就去查一下怎么解决,很快啊,就看到了PicGo安装过程先装Typora下载PicGo:github不是一般的慢。。。我直接给下载链接算了Picgo-2.2.2.Applmage密码:r0bl卸载ubuntu自带的nodejs,去下最新的:nodejs其他操作自己看这个博客好了:参考地址运行配置PicGo啥的我也是参考别人的:参考地址一开始找不到要去配插件里面搜索gitee不知道为什么第二个安.

2020-12-17 21:37:58 812 2

原创 C++基础(三)

表达式基础重载运算符:当运算符作用于类类型的运算对象时,用户可以自行定义其含义。左值和右值:C中原意:左值可以在表达式左边,右值不能。C++:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。解引用运算符生成左值,decltype(*p)的结果为int &取地址符生成右值,decltype(&p)的结果为int **,是一个指向整型指针的指针逻辑运算符短路求值:逻辑与运算符和逻辑或运算符都是先求左

2020-10-03 22:28:18 177 2

原创 C++基础(二)

using声明使用using声明:例如 using std::cin表示使用命名空间std中的名字cin。头文件中不应包含using声明。这是因为每个使用该头文件的内容会拷贝到所有它的文件中去,可能会产生始料未及的名字冲突。string类型标准库类型string表示可变长的字符序列。使用string类型必须先包含string头文件,再使用命名空间。例如#include <string>using std::string;string对象:注意,不同于字符串字面值

2020-09-23 22:46:15 224

原创 无符号数类型(unsigned)和 有符号数类型的区别

无符号和带符号的定义带符号类型可以表示正数,负数或0,无符号类型仅能表示大于等于0的值当一个算术表达式中既有无符号数又有int值时,那个int值就会转换成无符号数,把int转换成无符号数的过程和把int直接赋给无符号变量一样如果表达式里既有带符号数又有无符号数,带符号数会自动转换成无符号数无符号数的模指的是,无符号数的计量范围。在32位的编译器上,unsigned int 的最大值为4294967295,再加上0,一共4294967296个整数,即32位无符号数的模为4294967296(2^32

2020-09-18 17:06:08 6476 1

原创 C++基础(一)

初始化(initialize):对象在创建时获得了一个特定的值。初始化不是赋值:初始化 = 创建变量 + 赋予初始值赋值 = 擦除对象的当前值 + 用新值代替列表初始化:使用花括号{},如int units_sold{0}; or int units_sold={0}默认初始化:定义时没有指定初始值会被默认初始化;在函数体内部的内置类型变量将不会被初始化。在定义于函数体内的内置类型对象如果未被初始化,其值未定义;类的对象如果未被初始化,其值由类决定。建议初始化每一个内置类型的变量。引用

2020-09-18 14:07:44 124

原创 学习Linux网络编程实现小项目-聊天室(2)--客户端代码

封装过的出错函数可以去服务端代码里找以下是代码实现client.h#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include <errno.h>#include <pthread.h>#include <unistd.h>#include <sys/socket.h>#include &

2020-09-14 20:51:56 539

原创 学习Linux网络编程实现小项目-聊天室(1)--服务端代码

注意epoll的性能提升,暂时我的理解比较浅其实服务端的数据存储并不只限于mysql可以是数组+mysql可以是链表+mysql可以是数组+链表+mysql可以是线程池+mysql可以是很多很多。。。。用的是看个人能力,但如果基础不行,重构的几率就变的非常大代码实现内核链表List.h#include <stdlib.h>#include <assert.h>/*初始化链表list。链表为带头结点的双向循环链表*/#define List_Init(li

2020-09-14 20:48:21 1005 2

原创 学习Linux网络编程实现小项目-聊天室(0)--源码以及项目部署遇到的问题以及解决

明明聊天室是要在暑假两个星期内写完的,由于疫情没有回校学习,在家也是写一点放松一点,并且第一次写一个比较大的项目有点力不从心,总之有遗憾吧,在网络编程这块学习也是浅上折纸,在想整体架构上有明显不足,所以导致了第一版问题比较多,在垂头丧气了几天感觉自己目前能力解决不了的情况下选择了重写,过程比较痛苦,也焦虑了几夜,躺着也难受想放弃,不知道选这个有没有错,还是说自学并没有什么作用,菜是菜了点,好歹挺过来了。。。然后又是测试,学长帮我测了四次来慢慢解决一些逻辑漏洞,逐渐也熟悉了这部分的框架,再看看别人的实现和对网

2020-09-14 20:35:59 940 2

原创 C语言MYSQL数据库的使用和总结(包含Ubuntu20.04安装后修改密码)

deepin20 DATE下面执行mysql安装命令一般默认给的都是mysql 5.4版本的安装,修改密码的方法添加链接描j述

2020-09-06 00:51:50 221

原创 实验室暑假第一次测试总结

前言这个第一次测试写下来总体来说不太理想,尽管学长已经很有心承上启下来安排题目,规划以后学习路线,但我对于以前的基础题还是忘的有点多,或者对于前半年所学的自我感觉有失偏颇,总之,没有写好,以后要多加努力啊。。1. 阅读下面代码段,回答问题typedef struct tag_unimportant { char *t2; int t1;} A;void func(A *a){ a = (A *)malloc(sizeof(A)); a->t1 = 0x20200011; a-&g

2020-07-26 20:28:55 245

原创 基于GNOME Tweaks和Dash to Dock对Ubuntun20.04的mac OS方向美化以及踩坑

前言重装的deepin崩了,系统盘不断占用空间,一夜从14G满到50G,我折腾不起了,只好换成了Ubuntu既然有了这个比较原始且足够安全的系统,就玩了半天的界面优化,这是成果突然觉得Ubuntu真好玩,就是累。。步骤首先安装gnome Tweaks工具,有些博客建议的是unity-tweak-tool,但那东西已经被弃用了,所以你需要有新的桌面环境工具sudo apt-get install gnome-tweak-toolsudo apt-get install gnome-shell-

2020-07-13 03:42:21 6847 8

原创 deepin20 Beta下安装mysql出现的问题和解决方案

前言博主win网卡没了重安了双系统,新版本deepin也一堆问题,今天来说一下走了二天的坑删除原先是个萌新看网上的走了一遍下了好多依赖包的你要重下就去删除原来的东西(有些可能删不了,就当教训吧,要找好帖子啊…)这个博客会告诉你一切点这里安装首先达成的共识是要执行这几步命令sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev坑点

2020-07-08 03:50:45 612

原创 实现一个简单的线程池(无自动扩容和销毁)

线性池,一般和网络通信联系到一起实现epoll多路转接,但这里为了强调线程池的生产和添加逻辑,不再结合服务器那一块实现

2020-06-09 13:27:50 301

原创 Deepin/Ubuntu下vs code 安装升级以及踩坑 调试C/C++

本文转至https://www.mmuaa.com/post/240a6f932eff9360.html心酸过年时想安装个vs code玩玩,在csdn找了半天,一直被套娃,而且都是错的,没办法就没弄下去,搞来搞去都是配置的问题,弄的人烦..

2020-05-21 20:25:17 1032

原创 my_ls实现(-a,-l,-R)

踩坑&吐槽嗯,博主在月前(三月)就基本照着书打了一遍,看的很懵懂,后来看网课扩展了一下,大约月中的时候过来又写了一个版本,实现了颜色,结果去根目录一查/发现一直是在当前目录循环,嗯,不是它错了是我菜月底由于总结了一下基础,再回来看这个demo,我去,没有用,学长还帮我指了一下是目录和文件if else判断的时候分支走的不对,打个比方,我给它指定上层目录进行-a的命令的模拟,它不给我返...

2020-04-06 21:54:03 369

原创 正则表达式

正则表达式基本上是一种表示法,只要程序支持这种表示法,那么该程序就可以用来作为正则表达式的字符串处理之用.1.grep分析一行信息,若有我们需要的信息,就将该行拿出来grep -[acinv] [--color=auto] '查找字符' filenamegrep -a:将二进制文件以文本文件方式查找数据grep -c:计算找到"查找字符"的次数grep -i:忽略大小写grep -n...

2020-03-23 17:47:34 178

原创 Linux之Shell脚本

Shell是在命令行模式下面让我们与系统沟通的一个工具接口Shell脚本就是针对Shell所写的剧本Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式,Shell还有一种执行命令的方式称为批处理,用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本是解释执行的...

2020-03-22 00:38:47 188

原创 Linux初识Bash

用户在管理整个计算机硬件的实质是操作系统的内核,内核需要被保护,所以用户通过Shell来跟内核沟通Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式,Shell还有一种执行命令的方式称为批处理,用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本是解释执行的,不...

2020-03-20 17:51:13 121

原创 Linux文件与文件系统压缩

1.压缩文件的用途与技术在网络数据的传输中,我们需要将文件中一些没用的空间给消失来加快数据的传输,所以要用到压缩,使用时再解压缩回到原来的文件数据,压缩后的与压缩的文件所占用的磁盘空间大小,就可以被称为是压缩比压缩与解压缩算法等有时间博主再去学学..2.Linux系统常见的压缩命令1.gzip是应用最广的压缩命令,可以解开compress,zipz,gzip等压缩文件所建立的压缩文件为...

2020-03-03 03:57:13 123

原创 系统调用文件I/O函数(一)

C标准库中的fopen,fclose,fread,fwrite来对文件进行打开,关闭,读取,写入操作。在调用以上函数时,都会涉及到一个FILE指针,那这个FILE指针的意义是什么?这里,首先要知道C库函数是对系统调用的一层封装,也就是说,在执行C库函数时,这些函数调用了系统提供的接口函数。上述四个函数调用的系统接口分别是open,close,read,write。库函数与系统调用的层次关系...

2020-03-03 03:56:51 338

原创 makefile基础

1.基本规则先说说博主的踩坑,一开始写makefile时一直返回不存在,但明明博主写了,害,那就慢慢手敲三次吧...

2020-03-01 04:20:35 152

原创 文件操作函数

最近发现看的多又忘的多,懂了也不知道会不会说,仿佛没学一样,还是写一下想看不用再翻字典了..FILE是一个数据结构,用于访问一个流,每一个流都有一个相应的FILE与它关联家族名作用可用于所有的流只用于stdin 和 stdin内存中的字符串getchar字符输入fgetc,getcgetchar用指针下标引用或间接访问putchar字符输出fputc...

2020-02-28 17:32:32 85

原创 Linux兴趣小组2017-2020年面试题总结

1.sizeof和strlen的应用这应该是一个比较问的多的问题,我觉得一开始学习这两个形似(都是测大小)而神不似(测的实质不一样)的运算都是从只读懂了概念开始的,所以我先强调一下它们的定义以及用法sizeof运算符以字节为单位,可以以类型,函数做参数,返回其操作数的大小,即size_t类型的值,这是一个无符号整型,在头文件中被typedef定义到unsigned int,它的功能是获得保...

2020-02-18 03:32:11 321 1

原创 Linux磁盘与文件系统管理

1.Linux文件系统1.文件系统特性Linux的正统文件系统为ext2,文件系统通常将权限与属性放置到inode中,而实际数据则放置到数据区块中,至于超级区块会记录整个文件系统的整体信息超级区块:记录此文件系统的整体信息,包括inode与数据区块的总量.使用量.剩余量,以及文件系统的格式与相关信息等inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的区块号码...

2020-02-12 10:50:49 196

原创 Linux文件权限与目录配置

1.Linux文件属性例如-rw-r–r-- 1 root root 1864 May 4 18:00 initial.cfg第一栏代表这个文件的类型和权限第一个字符代表这个文件是目录,文件或链接文件等[d]表示是目录[-]表示是文件[|]表示是链接文件[c]表示是为设备文件里面的端口设备,例如键盘.鼠标[b]表示是为设备文件里面的可供存储的周边设备第二栏表示有多少个...

2020-02-11 21:17:07 74

原创 Linux文件与目录管理

一.目录与路径1.相对路径与绝对路径绝对路径:一定由根目录 / 写起相对路径:不是由 / 写起2.目录的相关操作.代表次层目录..代表上一层目录-代表前一个工作目录~代表目前使用者身份所在的家目录在这里插入代码片当在根目录下时,根目录的上一层(..)与根目录自己(.)是同一目录1.切换目录:cdcd [相对路径或绝对路径]cd ~cd表示回到使用者的家目录...

2020-02-11 00:56:06 94

原创 链表(一)

在创建一个链表时我们需要对结点进行结构声明创建typedef struct NODE{ struct NODE *link; int value;}Node;这里需要警惕一个陷阱:typedef struct{ Node *link; int value;}Node;为什么不能这样定义?这个声明的目的是为这个结果创建类型名NODE,但是类型名直到声明的末尾才...

2020-01-19 13:00:37 146

原创 数组与指针(三)

char *c[]={"ENTER","NEW","POINT","FIRST"}; //字符指针数组有四个元素 //ENTER NEW POINT FIRST char**cp[]={c+3,c+2,c+1,c}; // c+3                  c+2          c+1          c //指向最后一个元素的起始地址   倒数第二个...

2019-12-29 20:47:19 148

原创 数组和指针(一)

//数组名在两种的情况下表示整个数组,除此之外都表示首元素地址//1.sizeof(数组名)-数组名表示整个数组,sizeof(数组名)计算的是整个数组大小,单位是字节,//2.&数组名,数组名表示整个数组,&数组名取出的是整个数组的地址//除此之外你遇到的所有的数组名都是首元素的地址int a[] = {1,2,3,4};int (*pa)[4]=&a;//*...

2019-12-22 20:13:29 112

原创 git常用命令总结

git常用命令总结mkdir xx 在linux终端或者windows的git bush下创建一个目录cd xx 切换到你所创建的目录git init 初始化仓库ls -ah  可以看到开始初始化的仓库下有.git这就是缓冲区git remote add origin git@你的github的地址   将本地仓库与版本库连接git add 文件名  将本地仓库的文件提交到g...

2019-12-15 22:31:14 119

原创 数组和指针(二)

函数指针函数虽然不是变量,但它却有内存物理地址(还有虚拟内存地址,博主tcl,目前没看到,有兴趣的可以查一下 ),并且一个指针可以指向这个地址。我们可以把它当做这个函数的入口,return xxx;就是它的出口,这样函数就被封装好了。而当我们在main()函数下调用它时就得加上&来取它的地址。比如说type=&x;(type是我们声明的函数指针名,x就是我们要传进的函数首地址(想要调用的...

2019-12-08 21:42:58 102

转载 双系统安装deepin下解决无线网络的问题

转载自https://my.oschina.net/u/3552749/blog/1929081小组要求安装linux系统,安完发现没法搜索到无线网一点也不难(扇脸),在刘学姐帮助下找对应的网卡新机找不到 又双叒叕去在终端忙活乱写了两个文件找不到目标文件还是张学长指导black列入黑名单实现了自动移除ideapad_laptop的问题,下面是一些心得体会。1. 无线网卡被hard block...

2019-11-26 19:26:55 1180 1

空空如也

空空如也

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

TA关注的人

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