- 博客(125)
- 收藏
- 关注

原创 深入理解Nginx线程池【内附原理讲解以及源码分析】
本篇博客将从什么是并发编程、为什么要使用线程池、线程池的组成以及线程池的使用这4个方面对Nginx线程池进行刨析,相信耐心看完会对您有所帮助。
2022-12-03 16:20:13
211

原创 C/C++多进程高并发框架分享【内附可执行源码注释完整】
这篇文章带你了解多进程高并发的原理,并且提供一个通用框架供您参考,真的不来看看吗?
2022-11-19 16:42:00
1396
2

原创 Qt之系统托盘你学清楚了吗?
本篇文章通过代码实现,让你能够明白系统托盘的基本原理,并且实现它右键效果????可以理解成应用程序最小化保存在桌面右下角,比如这个是QQ的系统托盘我们可以通过单击来使QQ显示出来,也可以通过右键产生菜单来对QQ进行操作系统托盘实现我这里通过使用一个自制的QQ来演示系统托盘效果,就和我们平时的QQ类似实现效果右键效果????注意下面重要的还是托盘类以及菜单类,因为这是应用的一个小知识点有时候会牵涉很多其他的方法所以大家还是理解这一知识点就好,我这只是演示下这个怎么用,如果
2022-02-06 18:16:27
2078
3
原创 网络爬虫爬取某网数据并制作词云全过程【内附可执行代码注释完整】
本文讲解了我从网络爬虫到字符串分词再到制作词云的全过程,希望本篇文章能够对有需要的朋友有所帮助!!
2022-12-15 15:24:36
536
原创 网络爬虫数据解析的四种方式之XPath
本篇博客是我在学习网络爬虫的数据解析部分时学到的知识点,既是为了巩固自己学习到的知识也是希望能够帮助到有相关学习需求的同学!!
2022-12-12 08:30:00
299
原创 百行代码实现VLC简易视频播放器【VLC环境配置过程+可执行源码注释完整】
本篇博客介绍了VLC的相关概念、函数和详细的VLC环境配置过程,最后还提供了百行代码实现的一个简易视频播放器源码,走过路过别错过呀
2022-11-27 08:00:00
484
原创 线程是什么?线程的相关概念以及基本的使用方法说明【内附可执行源码注释完整】
本文讲解了线程的一些概念以及相关的使用场景以及方法,希望能够对您有些许帮助。
2022-11-22 22:30:18
257
原创 Qt构建时遇到error LNK2019: 无法解析的外部符号 __imp__glAlphaFunc【完美解决】
是__imp__glxxxx,所以去尝试了将openGL库进行添加,然后就成功了
2022-11-18 22:59:49
252
原创 Qt实现QSpinBox微调器和QSlider拖动条联合使用(显示小数)
Qt实现QSpinBox微调器和QSlider拖动条联合使用(整数和小数均有例子)
2022-11-11 00:34:54
295
原创 初识epoll与Reactor设计模式
Reactor模式称为反应堆模式或应答者模式,是基于事件驱动的设计模式,拥有一个或多个并发输入源,有一个服务处理器和多个请求处理器,服务处理器会同步的将输入的请求事件以多路复用的方式分发给相应的请求处理器。空闲的进程或者线程会时刻监视着就绪事件队列,看有没有事件要处理,如果有事件来了,那么进程线程就会进行处理(并会注册新的事件)epoll就是采用的Reactor设计模式,与select和poll进行对比,很大的区别体现在内核部分,epoll的reator设计模式内核采用的是红黑树。
2022-10-25 13:00:54
157
原创 入门工程级CMake看这篇文章就对了
CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。CMake并不直接构建出最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。CMake是一个比make更高级的编译配置工具,它可以根据不同的平台、不同的编译器,生成相应的makefile或vcproj项目,从而达到跨平台的目的。Android Studio利用CMake生成的是ninja。
2022-10-21 06:00:00
390
原创 Windows对Ubuntu的远程控制,你会几种方法?
文章目录xrdpSambaUbuntu安装Samba 服务器Samba服务器配置启动和关闭直接在Windows 下编码如果我们直接用Linux界面进行一些文件操作的话会很不方便,我们可以使用Samba进行远程桌面控制也可以使用xrdp进行远程控制,以下介绍xrdp方法和Samba方法对Ubuntu进行远程控制,设置方法很简单但是用处还是蛮大的。xrdp操作如下# Linux下apt install xrdpsystemctl enable --now xrdpsudo ufw allow fr
2022-05-17 14:23:13
810
原创 Linux操作系统coredump的配置以及基本使用方法
文章目录coredump调试coredump是什么?coredump前期设置什么情况下会导致程序异常退出如何调试具体例子coredump调试coredump是什么?程序异常退出时,会产生一个core文件,该文件记录了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成的一个文件,通过工具分析这个文件,我们可以定位到程序异常退出的时候对应的堆栈调用等信息,找出问题所在并进行及时解决。coredump前期设置设置core文
2022-04-01 09:15:00
849
2
原创 内存检测工具Valgrind你还没用过吗?
这篇文章可能会有一些晦涩,前面是用于介绍理论上的使用方法,但是后面会用一个完整的例子和流程来解释Valgrind的用法,希望这篇文章能够对您有所帮助,谢谢😀文章目录内存检测Valgrind什么是ValgrindValgrind 安装Memcheck检测范围Memcheck 检查步骤及注意事项结果分析具体例子内存检测Valgrind什么是Valgrind当我们在进行一个比较大的工程项目时,代码量上去以后对于一些内存的处理可能会出现一些问题,比如取到空指针指向的值、动态分配的内存没有释放、数组越界访.
2022-04-01 09:00:00
1289
原创 Linux项目日志实现之重定向
文章目录stdout和stderr的缓存问题重定向的使用stdout和stderr的缓存问题在通常情况下,Linux/UNIX每个程序在开始运行的时刻,都会自动给打开3个已经打开的stream. 分别用来输入,输出,打印诊断和错误信息。通常他们会被连接到用户终端。这3个句柄的类型为指向FILE的指针。可以被fprintf、fread等函数使用,在Linux操作系统下一切皆文件,他们在程序开始启动后,stdin, stdout, and stderr 的文件描述符是 0, 1和2,其它的文件描述符则排在其
2022-03-31 14:45:18
3748
原创 Linux文件锁(Filelock)是什么,怎么用?
文件锁为了解决并发对文件IO操作的影响,这样就出现了文件锁,多个进程如果在没有设置文件锁的情况下是可以访问同一个文件的,比如我一个进程已经开始写这个文件了,那么另外一个进程也可以写,那这样不就乱套了吗,文件锁就像是我们家的门锁一样,当一个人进入了家门口以后那么就会对门锁进行一些设置 用法:man 2 fcntl 包含头文件:#include <unistd.h> #include <fcntl.h> 函数定义:int fcntl(
2022-03-29 08:30:00
2414
1
原创 Linux操作系统gdb下载以及基本使用方法
gdb调试是个啥gdb是GNU 发布的一个强大的程序调试工具,也是Linux 程序员不可或缺的一大利器。下面就来正式介绍gdb的下载和使用方法了👇~~gdb启动使用gdb的前提: gcc -g hello.c -o hello //生成.o文件的编译过程都得加个‘-g’下面是我写的一个Makefile例子(如果不了解Makefile是怎么回事的同学可以看看Makefile的用法链接)启动gdb: gdb hello //hello是我们编译链接完成后的可执行文件然后she
2022-03-15 08:00:00
4142
原创 shell脚本编程Makefile的编写,让你的代码编译链接更加快速
文章目录为什么要使用MakefileMakefile的编写Make 工作原理Makefile的规则:为什么要使用Makefile简单来说,当我们写一个稍微大一些项目的时候,如果我们要执行一个程序那得编译很多个文件并且还得链接起来,如果没有Makefile我们就得一个一个编译一个一个链接那真的是又臭又长(而且还会经常写错),而Makefile就能够很好的解决这个问题,所以说掌握好Makefile的编写是很有必要的Makefile的编写程序的编译和链接使用C、C++编写可执行程序,首先要把源
2022-03-07 23:41:59
1724
原创 使用Qt+Visual产生0x00007FFA4FE6FC1D (ig9icd64.dll)处(位于 xxx.exe 中)引发的异常: 0xC0000005的解决方法
断点的图片:这个错误很奇怪,明明之前不会出现断点但是过了几天再运行竟然出现了这个断点,我上网找了一些资料也问了一些同学老师,终于终于发现了问题:貌似是编译环境的一些原因,下面也给出了解决方法方法一main.cpp中添加代码: QApplication::setAttribute(Qt::AA_DisableShaderDiskCache);👇int main(int argc, char *argv[]){ QApplication a(argc, argv); QApplica
2022-03-02 12:49:40
1248
原创 Qt之QML编程函数的定义和调用
文章目录怎么编译.qml文件函数定义和调用的例子怎么编译.qml文件然后点击快捷键就可以选择我们要编译的qml文件就行函数定义和调用的例子import QtQuick 2.0Rectangle { id:myrect width: 200 height: 200 //定义一个函数 //function <name>(参数名1,参数名2,....){...} function sayHello(strHello) {
2022-02-26 17:38:53
1066
原创 Qt之QML编程常见布局简单运用
文章目录怎么编译qml文件几个常见的布局Column列布局row行布局Grid格线布局怎么编译qml文件然后点击快捷键就可以选择我们要编译的qml文件就行几个常见的布局Column列布局Column { spacing: 2//间隔为2个像素 //构建长方形 Rectangle { color: "red"; width: 50; height: 50 } Rectangle { color: "green"; width: 20; height: 50 }
2022-02-26 17:26:26
263
原创 Qt之Lambda表达式,你还不会用吗?
文章目录背景引用符注意背景Qt5中有全新的信号与槽语法,在Qt4基础上提高了信号与槽的灵活性,允许使用任意函数作为槽函数。但如果想更好地执行异步代码,连函数名都不想定义,则可通过Lambda表达式达到这个目的。Lambda表达式是C++11新增加的特性。引用符引入符说明[]不捕获任何外部变量[=]以传值的方式捕获所有的外部变量[&]以传引用的方式捕获所有外部变量[x,&y]x以传值的方式捕获,y以传引用的方式捕获[=,&x
2022-02-24 13:13:50
141
原创 Qt创建项目时The following error occurred:Error reading VS project settings解决方法(内附资源)
关于这个问题是我在用vs2017创建Qt项目时遇到的,因为之前也都下载了Qt VS Tools所以之前这种问题倒是没碰到过,这次竟然会创建项目失败/(ㄒoㄒ)/~~,虽然上网找了一些解决方法但是在我这却是没有用我也不知道为什么问题截图:解决方法:删除Qt VS Tools(千万别害怕,删了没什么大事),我们再重新下载一遍,然后再配置一遍之前的qmake就可以了,这样问题就解决了注意:有些小伙伴可能删了以后去那里重新下载可能会下载不了,如果你是vs2017的话我这里有资源????链接:qt-v
2022-02-16 20:24:14
1387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人