自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喜欢打篮球的普通人

https://gitee.com/jiwangreal,https://github.com/Jiwangreal

  • 博客(21)
  • 资源 (68)
  • 收藏
  • 关注

原创 (P49)异常:C语言错误处理方法,C++异常处理方法,C++异常处理优点

文章目录1.C语言错误处理方法2.C++异常处理方法3.C++异常处理优点1.C语言错误处理方法返回值(if … else语句判断错误)eg:写个小程序:源文件拷贝到目标文件int copy(const char* src, char* dst){ open(src); return -1; open(dst); return -2; read(src, buf); return -3; write(dst, buf); return -4; return 0;}

2020-10-29 23:04:31 435

转载 漫画:什么是B+树,B+树层数计算(面试官直呼内行)

文章目录1.什么是B+树2.B+树层数计算(面试官直呼内行)1.什么是B+树一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。一个m阶的B+树具有如下几个特征:1.有k个子树的中间节点包

2020-10-29 17:12:04 5449

原创 (P46)面向对象版表达式计算器:让表达式计算器支持变量赋值 ,Calc类实现

文章目录1.让表达式计算器支持变量赋值1.让表达式计算器支持变量赋值eg:a=5,解析成一个表达式树应该如下,其中a变量的值应该从Storage类中去获取AssignNode节点的Calc方法,比如:x=5,=号节点的值,其实等于x节点,也等于5节点,首先取出右节点的值,然后调用左节点的Assign方法类图如下:新增变量节点VariableNode,VariableNode继承至Node,在Node中新增Assign方法,用以变量赋值,IsValue判断变量是左值,其他节点都不是左值;

2020-10-28 22:57:22 656

原创 (P45)面向对象版表达式计算器:Storage类实现

文章目录1.Storage类实现1.Storage类实现Storage类用于存储一些变量与常量的值eg:支持pi,e,比如pi=3.14,则pi+3=6.14Storage类图如下:cells_:保存变量与常量的值inits_:变量与常量是否初始化Storage类的接口如下:Storage:SymbolTable:变量,常量的符号保存在SymbolTableclear:清除变量,常量AddConstants:添加常量IsInit:检测变量或者常量是否初始化,id代表其id,变

2020-10-27 23:08:47 337

转载 CentOS7配置kdump

文章目录1.kdump简介2.配置kdump1.kdump简介kexec是一个快速启动机制,允许通过已经运行的内核的上下文启动一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。kdump是一个新的,而且非常可信赖的内核崩溃转储机制。崩溃转储数据可以从一个新启动的内核的上下文中获取,而不是从已经崩溃的内核的上下文。当系统崩溃时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内

2020-10-27 16:29:56 2410

原创 (P44)面向对象版表达式计算器:符号表SymbolTable的实现

文章目录1.符号表SymbolTable的实现1.符号表SymbolTable的实现接下来的任务是让表达式支持变量与函数eg:a=100,a是符号eg:a+5+log(0),a是变量这里变量名与函数都算是符号,所以要有一个表存储这些符号SymbolTable用map来表示,map<符号,符号所对应的id(从0开始)>Add:往符号表中增加一个符号,返回值是该符号的id;Find:根据某个符号,查找某个符号的id;Clear:清除;GetSymbolName:

2020-10-26 22:58:10 698 1

原创 (P43)面向对象版表达式计算器:更正设计缺陷

文章目录1.更正设计缺陷1.更正设计缺陷算数表达式解析器的一个缺陷在于它的语法是右结合的。这意味着,8-2+1被解析为8-(2+1)可以通过更正语法可以设计成左结合的,把它设计成表达式+一个项;expresion:=expresion ‘+’ term,但这这会导致无限循环(Expr调用Expr,Expr又调用Expr。。。)前面的方法都是右递归,这里是左递归一种解决办法使用左结合的方法;SumNode有多个子代,主要处理+和-法运算;ProdectNode也有多个子代,主要处理*和

2020-10-25 17:37:36 212

原创 (P42)面向对象版表达式计算器:Parser类的实现

文章目录1.Parser类的实现1.Parser类的实现功能:对表达式进行解析,生成一颗表达式树03:15

2020-10-21 23:22:13 409

原创 (P41)面向对象版表达式计算器:Scanner类的实现 ,Scanner

文章目录1.Scanner类的实现2.Scanner1.Scanner类的实现Scanner类的类图作用:一个字符一个字符扫描一个表达式,等级表达式当前的状态curPos_:当前扫描到的位置;token_:当前扫描到的状态;Scanner类方法如下:Number:扫描到数字,返回数字;Accept:扫描一个字符,登记当前的状态Tocken:返回当前状态;SkipWhite:跳过空白;表达式当前的状态如下:EToken是枚举量扫描完毕;ERROR;扫描到数字;扫描到加号;

2020-10-20 23:30:30 344

原创 (P6)epoll:

文章目录epoll LT模式,电平触发什么时候触发EPOLLIN事件?内核中的socket接收缓冲区为空,可以理解为低电平,就不会触发;内核中的socket接收缓冲区不为空,可以理解为高电平,就会触发;什么时候触发EPOLLOUT事件?内核中的socket发送缓冲区不满时,可以理解为高电平,就会触发EPOLLOUT事件;内核中的socket发送缓冲区满时,可以理解为低电平;epoll ET模式,边沿触发LT模式是高电平触发ET模式:低电平->高电平,触发;高电平-&gt

2020-10-18 22:28:23 61

原创 (P5)epoll:epoll ,epoll LT ,epoll ET

文章目录1.epoll2.epoll LT3.epoll ET1.epoll2.epoll LTepoll LT图-eg:05\echosrv_epoll.cpp#include <unistd.h>#include <sys/types.h>#include <fcntl.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>

2020-10-15 22:51:00 182

原创 (P4)poll:poll使用的基本流程 ,EMFILE处理 ,cmake

文章目录1.poll使用的基本流程2.EMFILE处理1.poll使用的基本流程epoll的LT电平触发模式与poll模型(就是电平触发模式)的用法是完全一模一样的。要记住!(P3)poll:poll函数原型中的例子03\echosrv_poll.cpp是玩具代码,why?(1)如果应用层发过来的数据包,刚好分包了,即:一个数据包,两次read(粘包问题),第一次read时并不是一个完整的客户端请求,该怎么办呢?对于每一个connfd分配一个应用层缓冲区,我们应该将读到的数据保存在con

2020-10-14 23:06:56 630

原创 (P3)poll:poll函数原型

文章目录1.poll函数原型1.poll函数原型poll与select使用方式一样函数原型#include <poll.h>int poll(struct pollfd *fds, nfds_t nfds, int timeout);参数:fds:结构体指针,可以把结构体数组的首地址传递进来;fds是输入输出参数,一旦这些事件中的一个或多个发生了,就会返回回来,所以可以根据poll返回回来的事件来进行处理;nfds:监听的fd的个数;timeout:超时时间;st

2020-10-14 22:06:27 428

原创 (P40)面对对象版表达式计算器:分清值语义与对象语义 ,表达式解析

文章目录1.分清值语义与对象语义2.表达式解析1.分清值语义与对象语义值语义时指对象的拷贝与原对象无关。拷贝之后就与原对象脱离关系,彼此独立互不影响。eg:int,C++中的内置类型都是值语义,三个标准库类型string,vector,map也是值语义;eg1:class A{public: A() { //分配了资源 } ~A() { //释放了资源 }};类A当前是值语义吗?不是的!因为没有实现拷贝构造函数,没有进行深拷贝。因为默认的拷贝构造函数时浅拷贝eg

2020-10-13 23:15:15 312

原创 (P39)面向对象版表达式计算器:表达式树,类设计

文章目录1.表达式计算器设计3.类设计1.表达式计算器设计表达式树将5+3*6解析成表达式树,整个表达式的值就等于根节点+的值,而根节点的值=其左节点5+右节点*的值(根节点的计算要依赖于其左节点和右节点),而*节点的值=左节点3+右节点6的值。所以,要计算根节点的值,需要递归的遍历底下的子节点来进行计算。类设计,继承体系NumberNode数字节点的Calc方法等于数字本身,BinaryNode二元运算节点:+或者*运算的节点,有两个操作数,左操作数,右操作数加法运算节点AddNode

2020-10-12 22:59:38 564

原创 (P38)类与类之间的5种关系:UML ,继承(泛化) ,关联 ,聚合 ,组合 ,依赖 ,总结

文章目录2.UML2.继承(泛化)3.关联4.聚合5.组合6.依赖2.UMLUML:Unified Modeling Language(UML)又称为统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言。UML:为软件开发提供了一些标准的图例(10种),统一开发思想,从而促进团队协作;什么时候使用UML?这涉及到软件过程:分析,设计,编码,测试,维护;2种软件过程:(1)RUP,Rational Unified Process统一

2020-10-11 11:12:58 944

原创 (P37)RTTI运行时类型信息:RTTI:runtime type information ,dynamic_cast运算符 ,typeid运算符 ,type_info

dynamic_cast需要运行时的支持,它在运行的时候会坚持C++对象的运行时RTTI信息,来达到一个动态的转化,dynamic_cast是安全的向下转型,dynamic_cast运算符,typeid运算符,type_info是支持的RTTI的运算符的;C++对象模型是通过虚表和虚基类表来支持的,C++对象模型还包含一些额外的信息,就是RTTI;(2)reinterpret_cast,用在编译器不认可的可转型,注意下面三个都是静态转化的,不需要运行时的支持。RTTI的作用是运行时进行类型识别;......

2020-10-10 23:35:35 292 2

原创 (P36)对象动态创建

文章目录1.对象动态创建1.对象动态创建反射技术指的是:动态获取类型信息(指的是:方法与属性);反射技术就是在运行时,动态创建对象,动态调用对象的方法,动态操作对象的属性;要实现反射,需要给每个类添加元数据,这些元数据就是类的方法与属性;我们这里只讲动态创建对象,即:对原有的类不做任何更改,只需要增加一个宏就能实现动态创建;总结(1)避免了P35\01.cpp中工厂模式的if else语句的编写(2)增加了可扩展性,增加一个新类,不需要再工厂模式的类中增加if else语句(3)可以将

2020-10-09 23:17:42 374

原创 (P35)虚函数与多态:纯虚函数 ,抽象类 ,多态 ,虚析构函数

文章目录1.纯虚函数2.抽象类3.多态1.纯虚函数虚函数的特征:基类之指针指向派生类的对象,调用的是派生类的虚函数,若不是虚函数,则调用的还是基类的函数,是依据类型来决定的;这就可以使得我们可以以一致的观点来看待不同的派生类对象,而不需要关注派生类对虚函数是如何实现的;该过程是动态绑定的,也就是在运行时刻才确定虚函数实际的入口地址;虚函数是实现多态性的前提(1)需要在基类中定义共同的接口(2)接口要定义为虚函数如果基类的接口没办法实现怎么办?eg:形状类Shape,它是一个抽

2020-10-08 23:02:04 269

原创 (P34)虚函数与多态:多态 ,静态绑定与动态绑定 ,虚函数 ,虚表指针 ,object slicing与虚函数 ,overload,override,overwrite

文章目录1.多态2.静态绑定与动态绑定3.虚函数4.虚表指针5.object slicing与虚函数6.overload、override、overwrite1.多态多态性是面向对象程序设计的重要特征之一多态性是指发出同样的消息被不同类型的对象接收时,有可能导致完全不同的行为(1)调用同名的函数导致不同的行为(2)以一致的观点来看待,从同一个基类派生下来的所有派生类对象,减轻了我们分别设计的负担多态的实现:(1)函数重载:调用同名的函数,静态绑定(2)运算符重载,静态绑定(3)模板,静态

2020-10-07 22:49:06 246 1

原创 (P33)继承:虚继承对C++对象内存模型造成的影响

文章目录1.虚继承对C++对象内存模型造成的影响2.虚基类表1.虚继承对C++对象内存模型造成的影响影响类大小的几个因素(1)类大小计算遵循前面学过的结构体对齐原则(2)类的大小与数据成员有关,与数据成员函数无关(3)类的大小与静态数据成员有关(4)虚继承对类的大小的影响(5)虚函数对类的大小的影响2.虚基类表类B1虚继承至BB,它有个数据成员b1_,其他类似...

2020-10-04 15:33:08 374

xshell6pjb_4614.zip

这是从xshell官网下载的xshell6,非常好用的免费版。里面的exe文件是64bit的,32bit也有下载链接,下载速度很快

2020-09-24

MobaXterm12hanhua.rar

这是一种Linux终端登录软件,版本是Moba12,中文版的,里面可以设置moba的背景颜色,真的很不错哦

2020-06-22

Shell编程ppt[C++教程网cppcourse[1].com].zip

这是C++教程网的Linux入门的相关ppt,如果需要可以看看。我觉得非常不错的哦,ppt很全的。请各位入门Linux敬请想用

2020-05-06

跟我一起学C++.zip

这是C++教程网的和我一起学习C++的ppt和代码,可惜只有1-25节,后面的代码我会持续补充进去。链接:https://blog.csdn.net/u011436427/article/details/105442484

2020-05-06

NetworkProgramming-master.zip

这是C++教程网之网络编程部分的所有代码,代码应该都可以用,大部分代码使用C语言编写。目录:https://blog.csdn.net/u011436427/article/details/105882800

2020-05-06

muduo_server_learn.zip

大并发服务器开发(实战)https://www.bilibili.com/video/av45560719课程的所有ppt和代码资料,里面还有muduo网络库的使用手册

2020-03-12

20+张高清技能图谱.7z

20+张高清技能图谱.7z,包括:区块链,云计算,ios,linux,前端工程师,hadoop家族等等涵盖了所有软件开发的图谱内容

2020-03-02

Docker学习资料总结.7z

这是我研究Dicker一周以来学习的Docker资料的总结,里面包括:namespace,cgroup等对Docker核心原理的认识和理解,还有一些关于Docke自己做的实验

2020-02-08

RF自动化ppt.7z

这是rf自动化的ppt资料,主要包括四个章节:包括接口,Fiddler,RF接口自动化测试,Jmeter测试接口等,

2020-01-07

mingw-w64.7z

需要下载的mingw-w64的链接,他需要配合llvm使用才可以在vs code编译C/C++代码,积分我设置的很低,只为帮助大家,希望大家能喜欢

2019-12-20

vs code能编译代码.7z

需要下载的LLVM的链接,里面还有某乎博主的安装教程的链接,积分我设置的很低,只为帮助大家,希望大家能喜欢

2019-12-20

VS code的linux服务器端的离线安装教程

这是vscode的linux服务器端的离线安装教程,里面还有win10 vscode的client端的config的权限问题的解决办法

2019-11-09

vs code配置文件和工作空间

这是我按照某乎制作的关于c和cpp的配置文件,所有相关配置和工作区都已经建立好了,拿来直接可以用,编译调试都可以!

2019-10-17

Desktop.zip

这里面是idea常用快捷键的操作背景图片,还有Unix进程间通信卷2的资料

2019-10-08

Linux基础课件.7z

这是Linux快速进阶ppt,包含了:从认识Linux,Linux目录,文件,磁盘,网络等各种指令学习,学开发看鸟哥太浪费时间

2019-09-23

个人简历攥写模板.zip

校招/社招个人简历的最佳模板,欢迎各位有志之士下载,么么哒

2019-09-22

understan中文版v926版本的代码设置.lua

这是我使用understan中文版v926版本的代码设置,供程序员们使用,加载方式:工具-选项-风格-导入

2019-09-19

Understand4_0(内置破解器).zip

understan中文版v926版本,供程序员们使用,非常好用,总共两部分,这是第一部分

2019-09-07

Scientific.Toolworks.Understand.v4.0.811.Incl.Keygen-AMPED.zip

understan中文版v926版本,供程序员们使用,非常好用,总共两部分,这是第二部分

2019-09-07

C++函数库和Linux函数库.zip

这是Linux C语言的库函数和C++标准库函数的.CHM文件,供想深入学习的人学习

2019-08-24

googletestnew.7z

这是我根据googletest测试框架,做的单元测试案例,希望你能喜欢,都能跑!

2019-08-13

ccsetup560.zip

这是我从纯英文的cclean官网上找来的最新的免费版本的cclean,版本是v5.6,供大家下载

2019-07-20

cclean pr密钥.txt

这是2019的cclean pro的密钥,具体的使用方法参考里面的文档,应该不会涉及到版权问题

2019-07-16

嵌入式开发企业直通课2.1.pdf

这是嵌入式开发的努力方向总结,主要是来自某课堂资源

2019-06-03

CPP面试题集锦.doc

这是一份来自2018年秋招的,关于CPP问题的总结,平时有空就多看看

2019-06-02

linux C一站式编程课后答案汇总

linux C一站式编程课后答案汇总,供广大同学使用,大部分的答案已经给出

2019-04-22

关于推荐系统和大数据的研究报告

合工大硕士的电子与通信专业的前沿课程的老师要求写,我写好了一份,供以后的师弟师妹们食用

2019-03-24

kali中安装burpsuit profession脚本工具

kali中安装burpsuit profession脚本工具,一件安装方便使用;支持 Linux和WIndows

2024-01-20

划词翻译v8.7.6用于Chrome和Edge

划词翻译v8.7.6用于Chrome和Edge

2022-09-06

vscode的remote ssh中需要的ubuntu服务器中的sshd配置文件

客户端:win10,服务器端:ubuntu,使用vscode免密登录ubuntu时,会需要到的sshd配置文件

2022-06-19

postgresql数据库插件PG-Strom中Scan算子执行流程分析

postgresql数据库插件PG-Strom中Scan算子执行流程分析; 资源中的.mdj文件请由StartUML软件打开;

2022-03-16

CUDAppt.zip

https://www.bilibili.com/video/BV1kx411m7Fk?p=2&spm_id_from=pageDriver对应的CUDA教程PPT课件

2021-12-28

postgres.zip

pg11源码

2021-11-25

PostGreSQL资料.zip

PostGreSQL资料.

2021-11-25

Downloads.zip

C /C++常见面试题和简历模板

2021-06-26

ant-learn-python-concurrent-main.zip

python并发编程的一些资料

2021-05-24

Linux函数手册等.zip

Linux函数手册等.zip

2021-04-18

cpptools-osx.vsix

这是我找到了的cpptools-osx.vsix资源,是用在离线安装在vs code中的拓展包,可以用来查找定义,查找引用,但是得和https://blog.csdn.net/u011436427/article/details/103382737进行配合,安装完毕后,下载这个网站的链接,用链接后的完整扩展包替换离线安装的包即可

2019-12-05

VSCode Cpptools最新版1.40.2版本.7z

能连接微软的相关网站,从github上更新离线vs code扩展包的结果就是,扩展包安装完毕,却不能完全使用。 eg:C/C++ IntelliSense, debugging, and code browsing(VSCode Cpptools)内网条件下,依赖包可能不能更新完全,代码的跳转等功能不能使用,这是扩展包C/C++ IntelliSensese的问题,所以我在家下好也测试好了,该扩展包绝对可用!

2019-12-04

VSCode Cpptools.7z

我将VSCode Cpptools的相关所有依赖包以及我的VSCode Cpptools完整扩展包上传了,如果你缺少什么就加什么,也可以将这些包分别全加进行,参考我的完整扩展包即可,若还是不行,可以将我的完整扩展包替换掉你原来的扩展包,ps:我没试过!!!

2019-12-04

空空如也

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

TA关注的人

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