- 博客(174)
- 资源 (7)
- 收藏
- 关注

原创 C++/windows开发备忘录
windows使用cmd命令行g++编译C++源文件,常用工具Everything、BeyondCompare、Wireshark、SourceTree、Qt下载,几个国内的镜像、dumpbin、depends、ProcessExplorer、VLD内存泄漏检测,Windows中使用命令行杀进程。QT5.15.2+VS2019环境搭建。由于找不到MSVCR100.dll,无法继续执行代码;应用程序无法正常启动0xc000007b
2022-11-02 22:22:37
6384
1

原创 C/C++常用方法
C++表示二进制,八进制,十进制和十六进制,负数的二进制表示法,C++位运算,& (按位与)、| (按位或)、^ (按位异或)、~ (按位取反)、>> (按位右移)、1字节对齐,main函数传参和解析,va_list,fork多进程,sleep,指针一维数组和二维数组的分配和释放,打印进程ID和线程ID,C语言tcp客户端和服务端。
2022-10-23 20:05:55
1564

原创 C++/linux开发备忘录
linux线程性能优化、cpu性能查询与修改、linux系统设置、linux硬件查询命令、ubuntu下qt开发、ubuntu卸载mysql、DNS域名解析顺序、WinSCP、putty64、MobaXterm、sqliteman、cheese、SSH、alsamixer、linux安装火狐浏览器和谷歌chrome浏览器、安装微信QQ等、SCP,远程拷贝,依赖SSH、pstack、perf、tcpdump、iftop、Gtest、glog、linux系统设置。
2022-04-30 19:43:39
3888
1

原创 Qt常用方法总结
Qt界面常用接口、Qt编码转换显示中文、Qt配置文件读写、Qt获取主窗口指针、qt全局信号、Qt判断操作系统类型、Qt判断是debug还是release、Qt调用cmd命令行程序、QProcess调用外部exe程序、github访问加速、Qt常用gitignore、Qt调用A4打印机、QImage与Base64相互转换等, QLabel播放gif,Qt设置半透明gif...
2021-08-31 15:36:44
1591

原创 linux操作手册
linux简介、常用文件夹介绍、文件权限、常用命令,基础命令,帮助命令,用户管理,网络命令,关机重启命令,vim使用,软件包管理。用户配置文件,用户管理命令,权限管理,ACL权限,文件特殊权限,文件系统属性权限chattr(可以限制root),sudo权限,文件系统管理,分区类型,文件系统,格式化就是写入文件系统,文件系统常用命令,fdisk分区,分配swap分区,Shell概述,shell脚本的执行方式,bash的基本功能,bash的变量,bash的运算符,shell编程,源码包安装管理,日志管理,备份与
2021-03-08 14:25:48
1788
原创 kafka介绍,kafka集群环境搭建,kafka命令测试,C++实现kafka客户端
主题(Topic)生产者(Producer)消费者(Consumer)分区(Partitio定义与概述Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发,后来贡献给了 Apache 软件基金会。它被设计用于处理实时数据流,能够以高吞吐量、低延迟的方式处理大量的消息。Kafka 本质上是一个消息队列,但它在传统消息队列的基础上进行了扩展,更适合处理大规模的实时数据。Kafka特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔7天清理数据。核心概念。
2025-02-12 11:40:06
1356
原创 k8s简介,k8s环境搭建
Kubernetes(简称 K8s环境搭建)是一个开源的容器编排平台。起源与发展K8s 最初由谷歌公司开发,于 2014 年开源。它借鉴了谷歌内部大规模容器管理的经验和技术,旨在为容器化应用提供一个高效、可靠、可扩展的管理平台。随着容器技术的快速发展和广泛应用,K8s 迅速成为容器编排领域的事实标准,被众多企业和组织广泛采用,并且在不断地发展和完善中,社区活跃度极高,持续推动着 K8s 功能的丰富和性能的提升。主要组件Master 节点:是 K8s 集群的控制中心,负责管理和协调整个集群。
2025-01-24 21:02:06
1299
1
原创 docker环境搭建,docker拉取mysql,docker制作自定义C++镜像
使用C++开发的可执行文件nethello制作镜像。在nethello可执行文件目录创建 Dockerfile 文件。这里的环境:docker在centos制作,拷贝到ubuntu系统正常运行。docker search 超时问题。阿里云服务器mysql远程访问设置。镜像打包,拷贝到其他机器运行。docker容器的启动和停止。创建Dockerfile文件。进入容器,操作mysql。mysql默认4个库。mysql 基础命令。制作docker镜像。
2025-01-19 20:29:14
665
原创 网络传输:网卡、IP、网关、子网掩码、MAC、ARP、路由器、NAT、交换机
网卡接收数据流程,混杂模式,IP地址介绍,网络地址和主机地址,ARP协议解析,ARP抓包分析,ARP映射表,路由器功能,交换机功能和自学习流程。
2024-11-18 21:09:30
2028
原创 linux性能提升之sendmmsg和recvmmsg
sendmsg和 sendmmsg、recvmmsg,相关结构体mmsghdr、msghdr、iovec,sendmmsg和sendto性能对比测试,C++源码实现。
2024-11-12 21:28:44
1188
原创 linux性能分析常用工具和方法
记录core,top查询线程cpu占比,pstack查调用栈,ldd查询依赖库,readelf查库导出函数,strings查静态库版本,perf热点函数,sysstat,mpstat查询cpu占比,sar网卡测速,内存,磁盘,mtu设置,iperf3测速,tcpdump抓包,termshark和wireshare分析,gdb调试命令
2024-10-01 08:52:35
737
原创 arm平台常用工具和动态库编译
perf、libconfig、openssl 、libpcap 交叉编译,统信、龙芯等平台编译QT,QtCreator、ssl、libsrtp、libyuv、libopus、libopenh264、libusrsctp、libsioclient、gdb、x264、ffmpeg编译
2024-09-11 21:50:43
1547
原创 C语言网络库libevent浅析
事件驱动高性能网络库;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。libev是libevent的进化版,移除了http/dns组件,优化了结构,单windows平台实现较差。nodejs最初基于libev实现,为了满足windows需求创建了libuv。
2024-08-25 21:18:49
1140
原创 C/C++高性能服务器网络库框架libhv源码解读
信号处理,日志,资源池,线程池错误,命令行参数,配置文件,堆,缓存,链表,队列,红黑树,MultiMap,JSON,tcp,udp,http,WebSocket事件循环,事件循环线程,事件循环线程池,定时器,网络IO,异步自定义事件,epoll,poll,select,iocp(win),kqueue(OS_BSD/OS_MAC),evport(OS_SOLARIS)。6、协议编码:gRPC,rudp,kcp,ssl,tls,mqtt,dns,ftp,icmp,smtp,base64,md5,sha1。
2024-03-17 21:59:17
3952
原创 C/C++嵌入式开发环境搭建,Qt交叉编译,cmake交叉编译,clion/vscode远程开发
交叉编译gdb调试,交叉编译 gdbserver,gdb远程调试,gdb调试core文件交叉编译是在一个平台上编译生成另一个平台上的可执行代码,当我们开发目标是一个嵌入式设备时,便需要在PC机上编译出能在该嵌入式设备上运行的可执行文件,这里编译主机与目标运行主机不是同一个设备,该过程就称为交叉编译;编译是指一个源代码文件,如C/C++文件要经过预处理(preprocessing)、编译(compilation)、汇编(assembly)和链接(linking)等步骤才能变成可执行文件,整个过程统称为编译。
2024-03-03 21:12:56
2078
原创 C语言奇技Y巧之sscanf函数用法详解
sscanf,C语言中的函数,读取格式化的字符串中的数据。sscanf读取字符串、整型、浮点数,sscanf 使用正则表达式,同时读取多个字符串和整数,sscanf 返回-1,sscanf 解析失败处理,sscanf 缺点。
2024-02-20 22:19:47
2618
原创 可基于udp的可靠传输协议kcp介绍,C++测试kcp示例
KCP是国人开发的开源项目,作者:林伟 (skywind3000)(这个是真大牛)。开源地址:https://github.com/skywind3000/kcpKCP是快速可靠传输协议,纯算法实现,KCP无任何系统调用,不负责底层协议收发,底层可以使用UDP或其他自定义协议进行收发。
2024-02-04 21:19:09
3643
原创 C++流媒体服务器 ZLMediaKit框架ZLToolKit源码解读
ZLMediaKit是国人开发的开源C++流媒体服务器,同SRS一样是主流的流媒体服务器。基于C++11,大量使用C++11新特性,如智能指针、lambda表达式等,安全性高,是高度运用C++特性的框架。主要分为Thread、Poller、Network、Util四大部分。 EventPollerPool事件循环线程池。
2024-01-07 21:30:27
6432
原创 C++高性能服务器框架muduo,与配套书籍《Linux多线程服务端编程》解读
muduo开源代码解析,多线程服务器模型,《Linux多线程服务端编程》阅读笔记,来自作者陈硕。
2023-12-10 21:00:23
1012
1
原创 C++基类和派生类的内存分配,多态的实现
C++基类和派生类的内存分配分析,虚函数表占用内存分析,基类和派生类的成员归属详解,多态的实现,C++源码示例。
2023-10-24 22:31:00
601
原创 C++11新特性介绍,源码测试
C++11关键字:auto,decltype,nullptr,final,override ,default,delete,C++11新特性:右值引用和std::move,Lambda表达式,for循环(基于范围的循环),统一初始化initializer_list,静态断言static_assert,函数返回类型后置,强类型枚举(枚举类),前置枚举声明, 内联命名空间(Inline namespaces),变参宏(Variadic macros)。
2023-10-18 21:57:18
323
原创 C++使用cmake创建项目
cmake支持linux、windows等跨平台使用。cmake下载安装,cmake加载头文件,源文件,cmake加载lib动态库和静态库,cmake预定义宏等。cmake设置C++编译选项,添加库依赖。
2023-09-23 16:39:14
680
原创 C++标准库STL容器详解
C++标准模板库STL容器,reserve和resize,插入/删除/查找时间复杂度,容器接口,红黑树/哈希表数据结构图解,容器都是类模板,实例化后是容器类。顺序容器vector、deque、list,关联容器set、multiset、map、multimap、unordered_set、unordered_multiset、unordered_map、std::unordered_multimap,容器适配器stack、queue、priority_queue。
2023-08-29 22:03:22
1265
原创 C++音视频流媒体服务器SRS源码框架解读,配置文件(SrsConfig)的使用
C++框架,SRS封装了SrsConfig类,配置指令类(SrsConfDirective),缓存区(SrsConfigBuffer),定义了使用方便且功能强大的配置文件,部分参考了nginx的配置文件,形式上类似与JSON,一个配置项里面可以包含子配置项,套娃的形式和JSON数组很像;可重新加载配置,重载配置时通过回调函数的形式执行其他模块的重载。
2023-08-05 13:51:19
1493
原创 C++音视频流媒体服务器SRS源码框架解读,信号量(SrsSignalManager)的使用
C++语言,SRS封装了SrsSignalManager类,注册信号量回调函数,使用linux无名管道,接收到信号量时写入管道,在协程里轮询读取管道里的信号,并作相关处理。信号量的使用提供了用户进程(命令行即可)与正在运行的SRS程序通信的方式,SRS使用信号量实现的功能:强制退出程序、优雅地退出程序(执行一系列析构,停止监听等)、重新加载配置文件、日志文件切割等。
2023-08-01 07:36:09
814
原创 C++音视频流媒体服务器SRS源码框架解读,日志记录SrsFileLog的使用
SRS封装了日志类SrsFileLog(输出到文件或控制台)、SrsConsoleLog(输出到控制台),具备常用的日志功能。SrsThreadMutex类,对pthread_mutex_t 进行封装功能包括:日期,时间,日志级别,格式化参数列表,pid,上下文ID(方便定位问题,每个协程有个唯一的上下文ID),可输出到控制台或文件等;提供了使用方便的宏接口。
2023-07-29 22:16:35
750
原创 C++音视频流媒体服务器SRS源码框架解读,协程库state-threads的使用
C语言协程库state-threads(简称ST库),SRS对state-threads库进行了2次开发,SrsAutoFree自动释放指针,SrsContextId上下文ID的使用,测试源码。
2023-07-28 21:20:25
1357
原创 C++音视频流媒体服务器SRS源码框架解读,错误类(SrsCplxError)的使用
SRS流媒体服务器定义了一个功能强大的错误类(SrsCplxError),可自定义错误码、错误描述、详细信息、摘要,错误发生的文件名、函数名、行号;可建立连接多个错误类的单链表,形成一个错误栈;为上述功能提供了接口宏。此外,还自定义了断言宏(srs_assert),在crash时使用backtrace打印回溯调用栈,方便排查bug。
2023-07-26 22:59:58
571
原创 std::hash和unordered_map用法,C++自定义哈希表
std::hash是实现了仿函数的类模板,根据传入不同数据类型T,获得其哈希值。返回值类型:size_t。对于C/C++内置数据类型,已经实现了其哈希函数,自定义数据类型需要定义其哈希值的求值方式。C++中的哈希表是通过unordered_map实现的,它是一种关联容器,可以将键值对存储在其中。它的特点是快速查找,插入和删除,时间复杂度为O(1)。
2023-07-21 22:07:33
2820
原创 linux内核编译,linux自定义系统调用函数
sudo make menuconfigsudo make gconfigsudo make modules_installsudo makesudo make installreboot #重新载入内核,按 shift 进入高级选项,选择内核版本uname -r #查询当前内核版本rpm -qa kernel #查询已安装内核版本列表,centosdpkg --list | grep linux-image #查询已安装内核版本列表,ubuntuprintk(KERN_ALERT "s
2023-07-11 22:08:05
697
原创 linux内核TCP/IP源码浅析
netif_rx,ip_local_deliver,ip_local_deliver_finish,tcp_v4_rcv,tcp_v4_do_rcv,tcp_rcv_established,tcp_recvmsg,tcp_v4_rcv,tcp_v4_do_rcv,tcp_rcv_established,tcp_data_queue,sk_data_ready。recvfrom, SYSCALL_DEFINE2,__sys_recvfrom,sock_recvmsg,sock_recvmsg_nosec,in
2023-07-04 22:28:49
3603
1
原创 Floyd算法图解,C++实现Floyd算法
C++实现Floyd算法:Floyd算法是一种多源最短路径算法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。时间复杂度:O(n^3),空间复杂度:O(n^2)。初始化权重矩阵weitMatrix[][]和路径矩阵pathMatrix[][],遍历所有点。
2023-06-17 23:28:06
1560
1
原创 数据链路层(MAC)、网络层(IP)、传输层(TCP/UDP)抓包分析
OSI七层模型,linux下使用tcpdump抓包,Wireshark抓包分析,抓取指定网卡,数据链路层抓包,网络层抓包(IP协议抓包), UDP抓包,数据负载抓包,Linux cooked-mode capture,OSI主要关注5层,数据从上至下逐级封装,加入每层的头部信息,在物理层转换为比特率发送;接收端使用逆向顺序把数据逐级解封装,发送给应用层。
2023-06-15 23:28:01
4034
原创 C++实现udp分包和组包
C++实现udp分包,C++实现udp组包,UDP是不会出现粘包的,但是会丢包,TCP不丢包,但TCP会粘包。udp的MTU,udp分包和组包策略。
2023-05-17 21:49:48
4656
2
原创 Dijkstra算法图解,C++实现Dijkstra算法
Dijkstra算法图解,C++实现Dijkstra算法。添加顶点,删除顶点,添加边,删除边。Dijkstra算法计算是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到起点距离最近且未访问过的顶点的邻接节点,直到扩展到所有终点为止。
2023-05-13 22:40:14
6134
原创 redis服务搭建,C++实现redis客户端,redis远程可视化工具
redis简介、redis服务搭建、 redis常用命令、C++实现redis客户端、redis远程可视化工具:Another Redis DeskTop Manager
2023-05-05 21:27:58
959
原创 OSPF路由协议解释
OSPF(Open Shortest Path First),LSA(Link-State Advertisement),链路状态通告,AS(autonomous system),自治系统,ASE路由,自治系统外部的路由。STUB,NSSA("not-so-stubby" area),xorp,frr
2023-04-25 21:52:19
1641
Qt程序打包发布exe,QtPackage.zip
2022-11-19
QT生成二维码与linux下qrencode库编译
2021-12-02
ubuntu下ffmpeg依赖库.tar.gz
2021-09-28
RabbitMQ客户端qamqp库源码和QT调用demo.tar.gz
2021-09-28
ubuntu下RTP协议依赖库jthread和jrtp编译.rar
2021-09-17
ffmpeg库编译.rar
2021-09-16
RTP依赖库jrtp源码,jrtplib-3.11.2.zip、jthread-1.3.3.zip
2021-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人