C++
文章平均质量分 70
看不透的是本质
写点东西
展开
-
网络通信---四次挥手
本篇主要写了网络编程的四次挥手,先详细写了四次挥手的过程,以及每次挥手之后的tcp协议状态的改变;用以说明每次发生了什么以及原因。后边专门说明了为什么是四次挥手而不是三次。四次主要解决了哪些问题。本质上来说,三次挥手可以结束,但是基于安全,防止数据丢失等原因,还是采用了四次挥手。具体,可以参考上边答案。原创 2024-08-30 18:10:13 · 993 阅读 · 0 评论 -
网络通信---三次握手
本篇主要写了三次握手的经过,从最后的整体过程看,三次握手干了很多事,只不过是在操作系统里的,包括协议状态的改变等。看过这些,你应该更了解网络通信里的三次握手,有兴趣,可以去学习学习。原创 2024-08-27 23:40:12 · 484 阅读 · 0 评论 -
gdb简单的调试命令
本篇主要写了gdb调试的一些命令,调试是程序开发中必然要遇到的事,这里就举了个简单的例子,跑下。有兴趣,可以去学习学习。原创 2024-08-06 15:58:23 · 428 阅读 · 0 评论 -
cmake简单介绍及安装编译
这一篇主要写了cmake 的安装及使用,写了一个简单的例子,然后顺便熟悉下cmake的流程。有兴趣可以去学习学习。原创 2024-08-06 12:12:16 · 259 阅读 · 0 评论 -
skynet 连接redis
这一篇主要写了一个skynet连接redis的例子,补充下之前的篇章,刚好demo中也没有,就拿这个例子来看看。有兴趣,可以看看。原创 2024-08-05 11:34:31 · 966 阅读 · 0 评论 -
死锁产生及检测(有代码哦)
这一篇主要写了死锁检测相关的内容。主要写了2个问题,死锁产生,死锁检测;然后给了相关的解释和例子。学内容,个人觉得就是应该先有一些问题,然后去一点一点推敲,当然也可以借助一些ai工具。都是很不错的内容。原创 2024-08-05 10:54:06 · 813 阅读 · 0 评论 -
rockDB编译流程及简单介绍
这一篇简单的写了rocksdb相关的,包括编译和一些接口相关的。回头慢慢弄,弄完了再更新,有兴趣,可以去学习学习。原创 2024-08-04 23:06:41 · 433 阅读 · 0 评论 -
cjson介绍及编译安装
这篇主要写了cJSON编译的过程,这个过程使用了cmake,make然后可以看到最后生成的结果。有兴趣,可以学习学习。原创 2024-08-04 12:59:52 · 512 阅读 · 0 评论 -
makefile介绍及编译执行
本篇主要写了makefile编译系统,写了简单的makefile,还有一些makefile的原理,三要素,再加上一些案例,其实还是蛮丰富的。有兴趣,可以看看,也可以学习学习。原创 2024-08-04 10:55:16 · 325 阅读 · 0 评论 -
操作系统==二分查找
本篇写了操作系统的一个二分查找的代码,可以参考下之前的代码,当然,操作系统是对c++写的,有兴趣,可以看看。操作系统的二分查找,还是很有意思的,应用范围也更广。原创 2024-08-03 17:58:26 · 313 阅读 · 0 评论 -
kafka消息队列基本概念及原理
本篇主要写了Kafka消息队列,大概写了消息队列的部分基本概念和原理,还有些内容放在后边写。感兴趣,可以一起来学习学习。原创 2024-08-02 23:52:36 · 305 阅读 · 0 评论 -
深入理解操作系统--绪论
这些内容,都是深入理解操作系统里的,我刚开始看。刚看完绪论,就已经发现很多内容了。后边的,慢慢看,看完,分享给大家。当然,有兴趣,可以去学习学习。原创 2024-08-02 23:49:46 · 259 阅读 · 0 评论 -
Nginx快速入门(下载,安装,编译,运行及配置)
这一篇主要写了,如何下载,安装nginx,可以参考下。基本上都差不多的流程。还有一些启动,停止和重新加载 Nginx 配置。感兴趣,可以一起学习学习。原创 2024-08-01 22:23:17 · 336 阅读 · 0 评论 -
Nginx应用场景及特性
本篇主要写了nginx的基本特性和一些代理服务器,比如HTTP服务器,Web服务器代理,邮件代理服务器,TCP/UDP代理服务器等等。通过本篇的学习,可以了解nginx的一些通用功能,在我们需要的时候,很快的选择使用它。感兴趣,一起来学习学习。原创 2024-08-01 14:56:13 · 673 阅读 · 0 评论 -
skynet 实操篇
这篇主要梳理了skynet的流程,从skynet_start到配置文件,然后是各种类的初始化等操作,start,thread_work,到最后消息分发结束之后的挂起;等等。这些才是skynet从开始到最后的一个流程,当然,examples下面还有很多其他的内容,都可以按照这个思路去分析分析;当然,有兴趣,可以一起来学习学习。原创 2024-07-29 20:37:02 · 2169 阅读 · 0 评论 -
Lua编程
这一篇lua编程不同于之前的lua源码阅读,写那一篇的时候,主要是在写一些源码中的内容;这一篇,包括各种数据结构,c,以及lua的。感兴趣,都可以看看,也可以一起学习学习。原创 2024-07-28 21:31:31 · 1161 阅读 · 0 评论 -
skynet 入门篇
这一篇主要写了skynet的编译,运行;此外,还有Actor相关的一些,包括Actor模型,Actor调度相关的。算是个入门篇吧,对于skynet,早就听说过云风大神,最初学习lua也是看他写的一些教程。这次学习skynet,挺好的。发现了很多以前没有注意到的内容,有兴趣,可以一起学习学习。原创 2024-07-28 21:13:06 · 623 阅读 · 0 评论 -
libevent入门篇
这篇主要写了libevent这个开源库,下载,编译,以及用hello-world.c入门。好了,入门就写到这了。有兴趣,一起学习学习。原创 2024-07-26 13:02:47 · 400 阅读 · 0 评论 -
网络编程
本篇主要写了网络编程关注的问题,网络IO的职责,IO多路复用以及reactor;reactor之前写过,有兴趣可以看下之前的文章。其实,多reactor的模型是很有用的;无论是多线程还是多进程;感兴趣可以一起学习学习。原创 2024-07-25 14:52:03 · 415 阅读 · 0 评论 -
WebSocket协议---简单介绍,协议特点及引用场景
这篇写了websocket的大概内容,协议特点,生命周期,还有websocket和tcp,http的关系,顺便简单介绍了下http协议;还有websocket的应用场景。通过这篇,了解了websocket协议的内容。感兴趣,可以一起来学习学习。原创 2024-07-25 10:44:02 · 729 阅读 · 0 评论 -
Proactor模型
这篇主要写了Proactor模型,使用了异步IO,工作线程只负责业务逻辑。在Proactor中,用户函数启动一个异步的文件操作,同时将这个操作注册到多路复用器上。多路复用器并不关心文件是否可读或可写而是关心这个异步读操作是否完成。异步操作是操作系统完成,用户程序不需要关心。多路复用器等待直到有完成通知到来。当操作系统完成了读文件操作——将读到的数据复制到了用户先前提供的缓冲区之后,通知多路复用器相关操作已完成。多路复用器再调用相应的处理程序,处理数据。感兴趣吗,可以一起来学习学习。原创 2024-07-24 13:05:15 · 543 阅读 · 0 评论 -
Reator模型
这次主要写了reactor模型的内容,reactor模型主要包括多路复用器,事件分发器,事件处理器;它的流程包括注册事件,事件分离等待事件,事件到来,分离器调用事件处理对应的处理器;还有reactor的优点,响应快,编程简单,可扩展性强,可复用性等等原创 2024-07-24 10:10:27 · 755 阅读 · 0 评论 -
五种网络IO模型
网络IO,会涉及到两个系统对象,一个是用户空间调用IO的进程或者线程,另一个是内核空间的内核系统,比如发生IO操作read时候,会经历2个阶段: 1. 等待数据准备就绪 2. 将数据从内核拷贝到进程或者线程中。以上两个阶段上有各种不同的情况,所以出现了多种网络IO模型。原创 2024-07-23 17:05:02 · 778 阅读 · 0 评论 -
UE TSharedPtr 实现,及内部原理
看过这个,对于TSharedPtr,应该是知道怎么回事了。有时间再去看看TWeakPtr,一步一步来分析,看看到底有什么好玩的东西。原创 2024-07-22 23:00:40 · 571 阅读 · 0 评论 -
QT信号量与槽
这篇主要写了qt槽函数的几种调用方式,涉及到发送者,接收者,槽,信号量。这种方式有点像设计模式的观察者模式,感兴趣可以参考之前的文章。至于qt的调用,再加上c++自有的可调用对象,就有多种使用方式了。原创 2024-07-08 15:45:47 · 510 阅读 · 0 评论 -
C++ 可调用对象
在C++中,"可调用对象"(Callable)是一个可以被调用的对象,它可以接受参数并产生结果。可调用对象可以是函数、函数指针、成员函数指针、lambda表达式、函数对象(functor)、以及通过 std::function包装的任何可调用实体。这些在开发中也经常见到,有空还是看看,学习学习。原创 2024-07-08 11:09:38 · 460 阅读 · 0 评论 -
c++ extern 关键字
c++关键字extern,在函数和变量是最常用的,举了2个例子。希望对你有用,OK,这周结束,下周继续。原创 2024-07-07 23:30:25 · 339 阅读 · 0 评论 -
C++ 访问修饰符
这篇主要写的是访问修饰符,public,private,protected,以及它们的使用情况。当然,还是要看具体的实际情况的。感兴趣,可以一起来学习学习。这种内容并没有语言之分,其实都是差不多的。还是要好好学习下。原创 2024-07-03 23:39:17 · 323 阅读 · 0 评论 -
QT 样式表
本篇主要写了开发中的一个小的过程,就是样式表的开发及使用过程。当然,ue也有类似的。随后写。思路这么来肯定是最省力的。这么做很好的一个现象就是逻辑跟功能开发分开。做功能的时候,安安心心的去写自己的逻辑就行了。至于UI,到最后,整体给一个就行了。而且只是修改一个文件的事情。整体没有那么复杂,还是要多思考下开发流程的事情的。原创 2024-07-03 16:56:11 · 588 阅读 · 0 评论 -
QT slots 函数
这篇主要写了qt slots函数,不熟悉qt经常忘记这个,其余的内容对c++程序来说就容易驾驭多了。OK,下篇写点有用的,好玩的内容。原创 2024-07-02 23:23:30 · 297 阅读 · 0 评论 -
c++ 类的生命周期
本篇先写了c++构造,析构,拷贝,移动构造函数的概念,然后又写了各自的例子;再接着用qt代码的例子和ue代码的例子分别说明这些函数的使用。有兴趣,可以一起学习学习。毕竟,有了基础,才能更好的前行。原创 2024-07-02 12:11:18 · 1284 阅读 · 0 评论 -
c++ const关键字的使用
其实,对于一个关键字,总共就几种情况,变量,函数,模板,lamda;一个例外,就是一些特殊的操作符。从这几个方面入手,会容易很多。原创 2024-07-01 16:22:01 · 393 阅读 · 0 评论 -
C++ lamda表达式
本篇主要写了lamda表达式的例子,详细的描述了lamda的语法规则以及使用方式,相信在开发中经常遇到。有兴趣,来一起学习学习。原创 2024-07-01 15:24:29 · 357 阅读 · 0 评论 -
c++关键字default,delete
好了,看完这些,是不是有点了解了。以后看起来一些源代码会轻松很多。感兴趣吗,一起学习。顺便说一句,使用 delete 关键字可以提供对类行为更细致的控制,特别是在资源管理和对象生命周期管理方面。然而,过度使用 delete 可能会导致类的使用变得复杂和受限。OK,翻篇!原创 2024-06-29 21:42:32 · 592 阅读 · 0 评论 -
C++ 左值右值
本篇主要写了一个新的概念,右值引用;左值右值是一直存在的,只不过引入了一个右值引用,然后多了一个左值转成右值(一般用std::move),还多了一个完美转发(一般用std::forward)。具体的例子这一篇不多说,回头有空写点例子。还是先把概念搞明白,然后才好理解;感兴趣可以一起学习学习。概念这东西,很多人都不喜欢,却都逃不掉,多看几遍就好了原创 2024-06-29 10:45:03 · 483 阅读 · 0 评论 -
c++智能指针shared_ptr
这篇主要写了c++的智能指针的情况,特别是shared_ptr的各种情况,有兴趣,可以点开文章看看。有不少惊喜呢!这只是其中一篇,后边,慢慢更新。原创 2024-06-27 15:27:21 · 567 阅读 · 0 评论 -
c++ explicit 说明符
explicit关键字,指定构造函数或转换函数为显式。不能用于隐式转换和复制初始化。挺好的一个新的内容。在一些底层代码中很常用。原创 2024-06-27 12:09:58 · 246 阅读 · 0 评论 -
FFMpeg解复用流程
这篇主要写了FFMpeg解复用流程,以及复用器,解复用器的概念。有了主要的流程,然后再加上音频流,视频流,字幕流以及其他成分的数据结构,就把一个视频文件一点一点拆解出来了。原创 2024-06-11 09:06:30 · 807 阅读 · 0 评论 -
行为设计模式之状态模式
状态模式就是用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题. 状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中(用类来表示状态) ,使得对象状态可以灵活变化。生活中很常见,结合下现实生活,很多东西就很容易理解了。原创 2024-05-28 23:55:05 · 773 阅读 · 0 评论 -
行为设计模式之职责链模式
在职责链模式中,多个处理器(也就是刚刚定义中说的“接收对象”)依次处理同一个请 求。一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B 处理器处理完后再 传递给 C 处理器,以此类推,形成一个链条。链条上的每个处理器各自承担各自的处理职 责,所以叫作职责链模式。有点像现实中的很多事情,可以来看看,有兴趣的话。原创 2024-05-28 01:53:40 · 606 阅读 · 0 评论