文章分类 -  Linux C++后端开发及架构

1 2 3 4 下一页

【C++基础】C语言调用C++库函数
摘要:通过封装一层接口,在接口头文件内通过extern "c"{ }定义一个C风格的函数,函数封装对C++库的调用,然后编译成so文件,此时通过C++编译器编译,extern C中的函数会以C语言风格预编译。 在C语言程序中引用该头文件,使用C编译器编译,此时跳过#ifdef __c_plus_plus宏 阅读全文

posted @ 2024-06-26 15:39 lingzshen 阅读(52) 评论(0) 推荐(0)

【性能优化】C++性能优化方法
摘要:1、 选择合适的数据结构 根据内存局部性原理,在遍历时,std::vector表现更好,查找时,std::list可能表现更好。 2、 避免内存的频繁的动态分配和释放 考虑使用对象池、内存池等技术来管理内存,减少内存分配的开销。 3、 使用高效的算法 了解各种排序、查找算法的时间复杂度,并根据具体场 阅读全文

posted @ 2024-06-26 08:06 lingzshen 阅读(45) 评论(0) 推荐(0)

【bug调试】内存踩踏
摘要:、 阅读全文

posted @ 2024-06-25 13:46 lingzshen 阅读(8) 评论(0) 推荐(0)

【Linux操作系统原理】进程间通信和线程间同步
摘要:1、 进程间通信 进程通信方式有下面几种 1.1 管道 1.2 消息队列 1.3 共享内存 1.4 信号量(同步) 1.5 信号 1.6 套接字 2、 线程间同步 2.1 互斥锁(互斥) 2.2 自旋锁 2.3 信号量(互斥 + 同步) 信号量是一种计数器,用于保护共享资源的访问。当进程要访问共享资 阅读全文

posted @ 2024-06-25 10:21 lingzshen 阅读(33) 评论(0) 推荐(0)

线程池设计
摘要:、 阅读全文

posted @ 2024-06-25 10:08 lingzshen 阅读(8) 评论(0) 推荐(0)

定时器组件设计
摘要:定时器设计可以分为两部分: 1、 定时驱动 定时驱动可以有下面几种方式 1.1 基于信号函数alarm驱动 1.2 基于sleep阻塞函数驱动 1.3 基于io多路复用器驱动 select、poll、epoll的timeout时间 2、 定时事件管理 定时事件管理需要维护定时事件集合,因为需要按照定 阅读全文

posted @ 2024-06-25 10:07 lingzshen 阅读(17) 评论(0) 推荐(0)

【C++11】using指示
摘要:问题:using指示放在全局和放在函数体内的区别在哪? 根据C++ primer描述,using指示放在函数体内,一般会被看作是出现在最近的外层作用域中(因为命令空间中会含有一些不能出现在局部作用域中的定义); 如果using指示放在最外层作用域,和放在下一层作用域中有哪些区别? 如例题18.16所 阅读全文

posted @ 2024-06-11 11:51 lingzshen 阅读(4) 评论(0) 推荐(0)

【高性能网络框架】dpdk的mbuf
摘要:参考:不懂 dpdk mbuf 结构?此篇文章带你超神-CSDN博客 【STM32】以太网DMA描述符-CSDN博客 阅读全文

posted @ 2024-06-04 11:31 lingzshen 阅读(33) 评论(0) 推荐(0)

【网络编程基础】零拷贝技术
摘要:// 参考:【JAVA核心知识】46:什么是零拷贝Zero-copy_JAVA核心知识-CSDN专栏 阅读全文

posted @ 2024-06-02 15:13 lingzshen 阅读(8) 评论(0) 推荐(0)

【网络协议】网际协议IP
摘要:1、 虚拟互联网络 通过IP协议屏蔽底层网络结构的差异性,使得在网络层看起来像是一个统一的网络。由此组成的网络称为虚拟IP网络(IP网)。 使用IP网的好处在于,IP网上通信的主机好像在一个单一的网络上通信一样,看不见互联各网络的异构细节。 2、 分类的IP地址 IP地址的编址方式分为三个阶段: 1 阅读全文

posted @ 2024-05-22 10:52 lingzshen 阅读(15) 评论(0) 推荐(0)

【网络协议】ICMP协议
摘要:1、 ICMP报文的种类 分为差错报告报文和询问报文 参考博客:计算机网络--网际控制报文协议 ICMP - 知乎 (zhihu.com) 阅读全文

posted @ 2024-05-22 10:16 lingzshen 阅读(10) 评论(0) 推荐(0)

Linux下main函数执行前
摘要:参考:C++调用main函数前的神秘过程,程序启动的幕后秘密! - 知乎 (zhihu.com) 阅读全文

posted @ 2024-05-20 17:47 lingzshen 阅读(6) 评论(0) 推荐(0)

libevent
摘要:1、 简介 2、 安装 3、 使用 参考:CentOS7下安装libevent_centos 7.0 安装 libevent 32-CSDN博客 阅读全文

posted @ 2024-05-20 00:04 lingzshen 阅读(11) 评论(0) 推荐(0)

【Linux网络实现】从协议栈到socket缓冲区
摘要:一直对报文从内核协议栈出来到socket的过程好奇,如果系统套接字很多,如何组织这些socket的,每个报文匹配到socket的效率如何? 查了很多资料一直没找到流程解析,只有几篇博客一笔带过,先记录在此,后面可能去读读《TCP IP详解》再来填坑; 参考博客:Linux 网络包收发流程及缓冲区问题 阅读全文

posted @ 2024-05-19 22:09 lingzshen 阅读(10) 评论(0) 推荐(0)

【网络编程基础】同步io和异步io模型
摘要:异步IO(Asynchronous Input/Output)和同步IO(Synchronous Input/Output)是处理输入输出操作的两种不同方式,它们的主要区别在于程序在进行IO操作时是否等待操作完成。 1.同步IO: (1)在同步IO中,当程序发起IO操作时,程序会被阻塞(即暂停执行) 阅读全文

posted @ 2024-05-19 19:09 lingzshen 阅读(100) 评论(0) 推荐(0)

【Linux操作系统原理】Linux进程地址空间与进程内存布局详解
摘要:Linux进程地址空间分为这几个部分:代码段(.text, .init, .rodata),数据段(.bss未初始化全局数据区,.data数据区),堆,栈 参考资料:Linux进程地址空间与进程内存布局详解 - 知乎 (zhihu.com) CPU 的 ring0,ring1,ring2,ring3 阅读全文

posted @ 2024-05-19 09:38 lingzshen 阅读(13) 评论(0) 推荐(0)

【网络编程基础】raw socket原始套接字使用
摘要:通过raw socket可以获取协议栈底层数据,实现流量监控等功能 参考博文:信息安全课程9:raw socket编程 - 知乎 (zhihu.com) 阅读全文

posted @ 2024-05-14 12:43 lingzshen 阅读(9) 评论(0) 推荐(0)

dpdk学习
摘要:在学习dpdk的原理,看igb_uio驱动实现过程中,了解到该驱动做了两个工作: 1、 注册pci设备到igb_uio的id_table中,并通过sysfs和内核交互,把pci设备和igb_uio驱动绑定; 2、 让用户态的网卡驱动程序和uio交互; 在学习pci注册到igb_uio的原理时,涉及到 阅读全文

posted @ 2024-05-10 14:49 lingzshen 阅读(71) 评论(0) 推荐(0)

centos7安装mysql
摘要:参考博文:【MySQL】MySQL在Centos7环境下安装_centos7安装mysql-CSDN博客 阅读全文

posted @ 2024-04-16 14:33 lingzshen 阅读(4) 评论(0) 推荐(0)

Mysql之BufferPool机制
摘要:参考博文:Mysql之BufferPool机制_mysql bufferpool机制-CSDN博客 阅读全文

posted @ 2024-04-16 10:28 lingzshen 阅读(7) 评论(0) 推荐(0)

1 2 3 4 下一页