胎粉仔
码龄2年
关注
提问 私信
  • 博客:18,150
    18,150
    总访问量
  • 48
    原创
  • 40,680
    排名
  • 128
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2022-08-01
博客简介:

m0_73093743的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    300
    当月
    41
个人成就
  • 获得202次点赞
  • 内容获得5次评论
  • 获得201次收藏
创作历程
  • 17篇
    2024年
  • 30篇
    2023年
  • 1篇
    2022年
成就勋章
TA的专栏
  • 数组排序
  • 找子串
兴趣领域 设置
  • 编程语言
    c++c语言
  • 数据结构与算法
    算法
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

网络初阶——高效IO & 多路转接

一个进程,但管理着多个文件描述符。利用多个文件描述符读写数据。参数介绍size:该参数已经被废弃了,传一个大于 0 的数进去就行了。返回值:成功时,返回 epoll 模型的 fd;失败返回 -1.
原创
发布博客 2024.11.18 ·
886 阅读 ·
12 点赞 ·
0 评论 ·
29 收藏

网络初阶——运输层:TCP 协议(Part2)

所以从上图可以看出,文件描述符是可以通过多个箭头来访问 socket 和报文的。而且,其中 struct udp_socket 和 struct tcp_socket 相当于继承了基类 struct socket ,同时 struct proto_ops 和 file_operations 表面上看只是存函数指针的,但其实就是 C 语言版的多态。
原创
发布博客 2024.11.14 ·
458 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

网络初阶——应用层:HTTPS 协议

从协议的名字来看,HTTP 比 HTTPS 少了一个 S。而这个 “S”,其实可以理解成 “Safe”,所以不难看出,其实 HTTPS 就是 HTTP 的安全版。就是为了保证客户端 cookie 的传输安全的。
原创
发布博客 2024.11.10 ·
973 阅读 ·
22 点赞 ·
0 评论 ·
13 收藏

Linux初阶——线程(Part3):POSIX 信号量 & CP 模型变体

只能建立一个对象的设计模式。
原创
发布博客 2024.11.02 ·
511 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Linux初阶——线程(Part2):互斥同步问题

当多个线程并发执行,并访问同一个变量时,就会很容易发生变量的一致性问题。如图所示,假如我想让变量 a 从 100 减到 0.线程 1 在做完 a-- 操作后就被换出了:线程 1 被换出线程2被换出线程 1 执行而此时 a 这个全局变量又从 10 变成 100 了。所以,这个变量从始至终都只能被一个执行流(线程)访问。同步就是让线程按照一定顺序获取资源,而不是一窝蜂地去抢。举个例子,假如厕所是一个共享资源,一次只能一个人用。当有人进去后,就会有很多人在外面等。
原创
发布博客 2024.10.30 ·
850 阅读 ·
25 点赞 ·
0 评论 ·
14 收藏

Linux初阶——线程(Part1)

说到线程,那么我们就要回到进程了。
原创
发布博客 2024.10.29 ·
688 阅读 ·
24 点赞 ·
0 评论 ·
14 收藏

Linux初阶——信号

当收到一个信号时,就执行信号的自定义动作。当子进程结束时,会向父进程发送 SIGCHLD (17) 信号。因此其实我们可以利用这个信号来回收子进程。
原创
发布博客 2024.10.27 ·
737 阅读 ·
16 点赞 ·
0 评论 ·
22 收藏

MySQL 初阶——多版本控制 MVCC

版本链就是一条以事务为节点的单链表。其 next 指针指向前一个版本的事务。
原创
发布博客 2024.10.21 ·
502 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

MySQL初阶——隔离级别之Read view

当运行 select 查询语句时,才会触发快照,创建 read view 对象,把此时正在处理(未提交)的事务的 ID 都记下来,以便于后面查询时可以控制该读哪些事务的记录,不该读哪些事务的记录。
原创
发布博客 2024.10.21 ·
515 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Linux初阶——动静态库

由于共享区可能有多个动态库,因此动态库的起始地址是不确定的,因此如果一个动态库的代码载入共享区,那么这些代码一定不会用绝对地址来编址。取而代之的是,动态库的代码会采用相对地址编址,然后再加上载入共享区后获得的绝对起始地址(设起始地址的值为 start),那么进程可以通过 start + 相对地址 的方式访问该动态库的代码。而对于进程地址空间,动态库的代码也会载入进程地址空间的共享区;在程序运行时会把代码(函数的实现)加载进内存中,然后再调整页表的映射关系,使其虚拟地址在进程地址空间的共享区中。
原创
发布博客 2024.10.12 ·
615 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

C++进阶——C++11(右值引用)

移动语义其实就是把两个对象之间的内容进行交换,来减少拷贝次数的原理。
原创
发布博客 2024.02.10 ·
434 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

C++进阶——智能指针(C++11)

所以,总的来说,如果我们要用智能指针的话,一般用 shared_ptr 和 weak_ptr 搭配用就可以解决程序因为抛异常而导致执行流乱跳,进而造成内存泄漏等问题了。
原创
发布博客 2024.01.26 ·
1336 阅读 ·
12 点赞 ·
0 评论 ·
15 收藏

C++进阶——C++11(lambda表达式、包装器、绑定)

lambda 表达式的语法是这样的:[capture-list] (parameters) mutable -> return-type { statement }。而且,lambda 表达式听起来是一个表达式而已,但其实是一个函数对象,而且其类型超级复杂,因此我们可以用 auto 来初始化 lambda 表达式。
原创
发布博客 2024.01.22 ·
497 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

C++进阶——C++11(part 1)

所以像 { 10, 20, 30 } 这种用大括号括起来的列表就是初始化列表。在 C++11 中,支持了用列表初始化来构造容器,因此我们都可以用 “{ }” 来进行初始化容器。
原创
发布博客 2024.01.21 ·
360 阅读 ·
10 点赞 ·
0 评论 ·
2 收藏

C++进阶——多态

被 virtual 修饰的成员函数就是虚函数。但要注意的是,虚函数的 virtual 跟继承里的 virtual 是任何没关系的。派生类只是把从基类继承下来的函数隐藏了,但派生类里依旧存在从基类继承下来的函数(只是表面上看不见而已),并且派生类里是可以访问到从基类继承下来的函数的(只不过访问时要指定类域而已)。
原创
发布博客 2024.01.21 ·
541 阅读 ·
18 点赞 ·
0 评论 ·
15 收藏

C++进阶——继承

继承就是一种类与类之间的一种关系。举个例子,如果 A 继承了 B ,那么 B 就拥有了 A 的所有成员(包括成员变量,成员函数)的拷贝,而且还可以在 A 的基础上添加新的东西(比如新的成员变量或函数)。
原创
发布博客 2024.01.11 ·
806 阅读 ·
13 点赞 ·
0 评论 ·
11 收藏

C++进阶——模板进阶

当类模板的函数声明和类模板的函数定义分开两个文件写时,编译器就会分离编译。private:// .h 文件public:void pop();private:// .cpp 文件// 显示实力化templatetemplate。
原创
发布博客 2024.01.02 ·
511 阅读 ·
11 点赞 ·
0 评论 ·
8 收藏

STL初阶——vector丐版模拟实现

【代码】C++初阶——vector丐版模拟实现。
原创
发布博客 2023.07.28 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL初阶——vector

迭代器失效就是用来遍历数组的指针变为野指针,无法访问数组的情况。迭代器失效问题一般出现在需要数组扩容的时候。
原创
发布博客 2023.07.28 ·
120 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++初阶——string丐版模拟实现

注意,_size是有效字符的个数,因此算总个数时也要把 ‘\0’ 算进去,因此要 _size + 1。
原创
发布博客 2023.07.19 ·
139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多