自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一怀明月的博客

学c的自我救赎

  • 博客(167)
  • 收藏
  • 关注

原创 Linux第三十九章

popensz和rz简单的聊天室Comm.hppInetAddr.hppLockguard.hppLog.hppnocopy.hppthread.hppThreadPool.hppUdpserver.hppmain.ccUdpClient.ccMakefile运行结果

2024-05-24 15:38:07 958

原创 Linux 第三十八章

智能指针socketbindstruct sockaddr结构体htonsinet_addrrecvfromsendtoreturn和exit的区别127.0.0.1netstat

2024-05-24 11:04:33 729

原创 「项目」负载均衡在线OJ(ONLINE_JUDGE)系统

一、项目介绍二、项目技术与开发环境1.项目技术2.开发环境三、项目的宏观结构1.项⽬核⼼是三个模块2.项目的框架3.项目实现流程四、comm公共模块设计1.日志模块开发2.UTIL工具模块开发1)TimeUtil模块2)PathUtil模块3)FileUtil模块4)StringUtil模块3.httplib.h模

2024-05-19 23:56:55 1716

原创 Linux 第三十七章

网络部分广域网(WAN)和局域网(LAN)的区别:协议什么是协议OSI标准七层协议网络和系统联系通信原理是什么?网络中的地址IP地址IP VS MAC端口号TCP协议/UDP协议TCPUDP网络字节序列socket编程接口socket常见APIsockaddr是一个通用的地址类型

2024-05-17 21:16:18 841

原创 Linux 三十六章

信号量sem_initsem_destroysem_waitsem_post基于环形队列的CP问题环形队列的生产者消费者模型线程池localtime时间戳转化mkdir系统调用bind绑定成员函数懒汉饿汉单例模式懒汉模式:饿汉模式:懒汉和饿汉相同点:线程池源码实现

2024-05-17 14:42:13 1271

原创 Linux 第三十五章

互斥锁scp指令线程加锁的本质可重入VS线程安全(多执行流并发执行同一段代码时造成的数据不一致)死锁线程同步生产者消费者模型条件变量pthread_cond_waitpthread_cond_signalpthread_cond_broadcast事例:火车票抢购

2024-05-16 11:33:51 788

原创 Linux 第三十四章

封装线程Linux线程互斥加锁创建一个锁(互斥量)pthread_mutex_lock(&mutex);加锁/pthread_mutex_unlock(&mutex);解锁源码实现

2024-05-15 22:32:07 1195

原创 Linux 第三十三章

目录线程线程控制pthread_create创建线程pthread_selfpthread_joinPthread_exitpthread_detachpthread_cancel系统库调用问题线程的局部存储

2024-05-15 21:43:30 668

原创 Linux 第三十二章

线程线程的概念linux并不存在真正意义上的线程,而是利用进程的资源模拟实现线程的ps -aLCPU 的局部性原理cache:高速缓存

2024-05-14 11:31:18 1177

原创 Linux 第三十一章

核心转储ulimit指令信号的保存sigset_tsigprocmask()动态观察指定信号的pendingsigpendingsigismember信号的处理sigactionstruct sigaction信号的其他补充问题volatile:关键字子进程退出的时候,需要向父进程发送信号的SIGCHILD

2024-05-14 11:17:37 1097

原创 Linux 第三十章

信号量如何理解信号量信号信号的概念信号的产生singal信号种类0-31是普通信号通过系统调用实现信号产生Kill系统调用raiseabort异常发送信号软件条件产生异常alarm

2024-05-13 22:51:56 1138 3

原创 Linux 第二十九章

共享内存共享内存的特点:rm和unlink的区别源码comm.hserver.ccclient.ccMakefile共享内存的字段消息队列(了解)创建消息队列发送数据接收数据删除消息队列消息队列的字段信号量创建信号量集:信号量的控制

2024-05-13 16:03:27 672

原创 Linux 第二十八章

命名管道mkfifo指令mkfifo系统调用命名管道实践:客户端server与服务端client进行通信client.cserver.ccComm.h(共享管道文件的名字)Makefile

2024-05-11 11:55:52 759 1

原创 Linux 第二十七章

可执行程序加载的时候,动态库也需要加载符号表在磁盘中,习惯叫逻辑地址:起始地址+偏移量进程间通信进程间通信的目的进程间通信的本质匿名管道通信pipe()进程池to_stringfunction匿名管道的实现processpool.cctask.hppMakefile

2024-05-11 11:04:44 729

原创 拷贝构造、赋值运算符、运算符重载

拷贝构造函数赋值运算符重载运算符重载日期类相关的所有操作符的重载重载赋值运算符拷贝构造和赋值运算符的显著区别

2024-05-10 14:48:48 847

原创 Linux 第二十六章

动静态库在库的制作者角度ldd静态库的制作动态库的制作站在库的使用者角度怎么使用自己静态库怎么使用自己动态库动态库加载

2024-05-10 11:52:58 924

原创 Linux 第二十五章

磁盘文件系统软硬链接什么是软连接?什么是硬链接?硬链接不是一个独立的文件,硬链接是什么?一个文件什么时候,应该被真正删除??为什么新建普通文件的硬连接数1,而新建目录问价的硬连接数是2为什么要有软、硬链接?应用场景区别是什么?

2024-05-09 18:16:52 812

原创 Linux 第二十四章

fd的分配规则重定向dup2命令行中的重定向isspace重定向的使用:就是, >>等那为什么要有2:标准错误缓冲区样例理解样例(2中的样例)什么叫作刷新用户缓冲区和内核缓冲区

2024-05-09 17:39:36 1050

原创 类和对象、this指针、类里的默认生成函数

类和对象类的引入类的定义类的定义方式1.声明和定义放在类体2. 声明放在.h文件中,类的定义放在.cpp文件中类的访问限定符及封装访问限定符类的作用域类的实例化类对象模型结构体内存对齐规则this指针this指针的特性this指针存在哪里?this指针可以为空吗?补充类里的默认生成函数构造函数析构函数

2024-05-08 16:15:44 1440

原创 Linux 第二十三章

回顾文件fopen()fwritefputs>文件名追加重定向认识系统接口openlinux中常见的函数传参数umaskwriteread语言和系统的区别文件描述符

2024-05-08 15:07:57 969

原创 Linux 第二十二章

环境变量putenv父进程myprocess添加环境变量,看子进程mytest是否能获取到execleexec族函数底层都是execve内建命令和普通命令chdirfgets()fprintf()sprintfgetcwd

2024-05-07 17:43:13 660

原创 引用 、宏、内联函数、auto、范围for、空指针

引用引用概念引用特性常引用传值、传引用效率比较引用和指针的区别宏内联函数auto关键字(C++11)auto与指针和引用结合起来使用基于范围的for循环(C++11)空指针

2024-05-07 15:37:16 592

原创 Linux 二十一章

非阻塞等待当父进程进行非阻塞等待的时候,父进程完成其他的任务,比如download、printlog、show进程等待的必要性进程程序替换execlexeclpexecvexecvp替换c++程序替换shell语言程序exec族函数为什么可以替换不同语言的程序?

2024-05-07 11:26:19 1007

原创 Linux 第二十章

returnexit()_exit()进程等待什么是进程等待为什么要进行等待如何进行等待在子进程运行期间,父进程有没有调用wait?在干嘛呢?waitpid验证一下,程序正常终止时,status低16位的高8位是退出码验证一下,程序正常终止时,status低16位的高8位是退出码验证一下,程序正常终止时,status低16位的高8位是退出码,低八位是退出信号父进程如何得知子进程的退出信息呢?wait/waitpid(系统调用)​编辑进行位运算太麻烦了,使用

2024-05-06 18:09:52 1100 1

原创 Linux 第十九章

mm_struct写时拷贝forkfork常规用法​​​​​​​fork调用失败的原因创建一个多进程进程终止main函数的返回值strerror​​​​​​​有时候用echo $?显示退出码并不和库里标准的对应C语言的错误码

2024-05-06 17:26:37 960 1

原创 命名空间、C++的输入输出、缺省参数(默认参数)、函数重载

命名空间命名空间的使用C++的输入输出缺省参数(默认参数)全缺省参数半缺省参数(部分缺省)半缺省参数必须从右向左依次给出,不能间隔不允许声明和定义同时给缺省参数函数重载函数重载的特点包括:为什么C++支持函数重载,而C语言不支持函数重载呢?

2024-05-01 15:44:29 1229

原创 Linux 第十八章

程序地址空间区间的地址分布真正理解同一个地址进行读取不同内容地址空间虚拟地址和物理地址虚拟地址:物理地址:struct mm_struct页表

2024-05-01 15:13:50 1366

原创 Linux 第十七章

查看环境变量的另一种方法本地环境变量本地环境变量第三种方法访问环境变量本地变量vs环境变量linux命令的分类设置环境变量和取消环境变量

2024-04-30 15:40:40 1330

原创 vscode远程连接linux之重装系统连不上

问题:解决方案重新连接

2024-04-30 15:20:11 432

原创 Linux 第十六章

环境变量环境变量:PATH查看环境变量PATH将自己程序加入PATH删除PATH里的路径环境变量:PWD环境变量:HOME要查看目前所有的环境变量呢?获取环境变量

2024-04-30 14:54:40 928

原创 Linux第十五章

进程运行linux2.6内核的调度队列与调度原理cpu运行队列实时(Real-time)和分时(Time-sharing)命令行参数算术运算器mytouch

2024-04-29 23:01:16 1182

原创 Linux第十四章

僵尸状态(zombie)孤儿进程进程优先级top指令top修改进程优先级nice值的范围进程的其他概念时间片电脑在没有联网的情况下关机之后,为什么电脑还能够正确的显示时间?linux内核支持进程之间进行cpu资源抢占的!cpu中的寄存器

2024-04-29 09:44:06 953

原创 Linux 第十三章

进程状态进程状态是什么运行状态阻塞状态挂起(阻塞挂起)S休眠状态(sleeping)D磁盘休眠状态(Disk sleep)T停止状态(stopped)t (tracing stop)linux中具体的进程状态前台进程后台进程

2024-04-28 23:32:19 824

原创 Linux 第十一章

fork事例一个函数,竟然有两个返回值???调用 fork() 后会产生以下结果:fork的一般写法fork的应用fork的原理fork干了什么事为什么fork会有两个返回值为什么fork的两个返回值,会给父进程返回子进程pid,给子进程返回0?fork之后,父子进程谁先运行?如何理解同一个变量,会有不同的值?

2024-04-28 22:44:37 830

原创 Linux 第十一章

进程​编辑进程怎么管理task_struct 核心字段都有哪些进程(任务)对应的标识符:如何去查看一个进程的pid?进程创建linux中创建进程的方式1.命令行中直接启动进程(手动启动)2.通过代码来进程创建在操作系统加载到内存时,其他进程并不是在操作系统这块内存上加载的。父进程是什么bash:命令行解释器如何获取父进程的ID?查看进程的第二种方式工作目录

2024-04-27 21:53:57 994

原创 Linux 第十章

冯诺依曼体系结构应用程序的运行程序在运行之前,必须先加载到内存?为什么?操作系统是什么?为什么?怎么办?操作系统管理的核心:思想:操作系统的存储位置操作系统具有防备cpu和操作系统的关系

2024-04-27 21:21:08 1047

原创 Linux 第九章

.gitignore配置文件调试代码的工具——gdb冯诺依曼体系结构存储分级

2024-04-26 18:14:35 654

原创 C++中布隆过滤器

布隆过滤器布隆过滤器的原理添加元素具体使用场景BKDRHashAPHashDJBHash哈希分割

2024-04-26 17:50:51 854 1

原创 linux第八章 git连接本地仓库和gitee

gitgit的作用git的知识点linux上远程链接gitee第一步:linux中安装git第二步:新建git目录第三步:链接仓库1)在gitee中找到仓库的HTTPS2)linux中链接这个仓库第四步:linux中就可以查看.git是本地仓库第五步:提交自己的linux中的文件到gitee1)将当前代码或者文件夹放到工作区2)提交到本地仓库3)将本地仓库推送远端仓库注意

2024-04-25 23:41:28 1247 1

原创 C++中 I/O流、文件流

I/O流C++标准IO流类型转换内置类型->自定义类型自定义类型->自定义类型operator type() 自定义类型->内置类型istream类型对象转换为逻辑条件判断值文件流ofstream中的openofstream中的writeifstream中的openifstream中的read以二进制的方式对文件进行操作

2024-04-25 16:15:22 845

线性代数超强笔记,可用于期末复习,考研等

「线性代数超强笔记,可用于期末复习,考研等」线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考研等线性代数超强笔记,可用于期末复习,考

2023-02-13

空空如也

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

TA关注的人

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