摘要:通过封装一层接口,在接口头文件内通过extern "c"{ }定义一个C风格的函数,函数封装对C++库的调用,然后编译成so文件,此时通过C++编译器编译,extern C中的函数会以C语言风格预编译。 在C语言程序中引用该头文件,使用C编译器编译,此时跳过#ifdef __c_plus_plus宏
阅读全文
摘要:1、 选择合适的数据结构 根据内存局部性原理,在遍历时,std::vector表现更好,查找时,std::list可能表现更好。 2、 避免内存的频繁的动态分配和释放 考虑使用对象池、内存池等技术来管理内存,减少内存分配的开销。 3、 使用高效的算法 了解各种排序、查找算法的时间复杂度,并根据具体场
阅读全文
摘要:1、 进程间通信 进程通信方式有下面几种 1.1 管道 1.2 消息队列 1.3 共享内存 1.4 信号量(同步) 1.5 信号 1.6 套接字 2、 线程间同步 2.1 互斥锁(互斥) 2.2 自旋锁 2.3 信号量(互斥 + 同步) 信号量是一种计数器,用于保护共享资源的访问。当进程要访问共享资
阅读全文
摘要:定时器设计可以分为两部分: 1、 定时驱动 定时驱动可以有下面几种方式 1.1 基于信号函数alarm驱动 1.2 基于sleep阻塞函数驱动 1.3 基于io多路复用器驱动 select、poll、epoll的timeout时间 2、 定时事件管理 定时事件管理需要维护定时事件集合,因为需要按照定
阅读全文
摘要:问题:using指示放在全局和放在函数体内的区别在哪? 根据C++ primer描述,using指示放在函数体内,一般会被看作是出现在最近的外层作用域中(因为命令空间中会含有一些不能出现在局部作用域中的定义); 如果using指示放在最外层作用域,和放在下一层作用域中有哪些区别? 如例题18.16所
阅读全文
摘要:参考:不懂 dpdk mbuf 结构?此篇文章带你超神-CSDN博客 【STM32】以太网DMA描述符-CSDN博客
阅读全文
摘要:// 参考:【JAVA核心知识】46:什么是零拷贝Zero-copy_JAVA核心知识-CSDN专栏
阅读全文
摘要:1、 虚拟互联网络 通过IP协议屏蔽底层网络结构的差异性,使得在网络层看起来像是一个统一的网络。由此组成的网络称为虚拟IP网络(IP网)。 使用IP网的好处在于,IP网上通信的主机好像在一个单一的网络上通信一样,看不见互联各网络的异构细节。 2、 分类的IP地址 IP地址的编址方式分为三个阶段: 1
阅读全文
摘要:1、 ICMP报文的种类 分为差错报告报文和询问报文 参考博客:计算机网络--网际控制报文协议 ICMP - 知乎 (zhihu.com)
阅读全文
摘要:参考:C++调用main函数前的神秘过程,程序启动的幕后秘密! - 知乎 (zhihu.com)
阅读全文
摘要:1、 简介 2、 安装 3、 使用 参考:CentOS7下安装libevent_centos 7.0 安装 libevent 32-CSDN博客
阅读全文
摘要:一直对报文从内核协议栈出来到socket的过程好奇,如果系统套接字很多,如何组织这些socket的,每个报文匹配到socket的效率如何? 查了很多资料一直没找到流程解析,只有几篇博客一笔带过,先记录在此,后面可能去读读《TCP IP详解》再来填坑; 参考博客:Linux 网络包收发流程及缓冲区问题
阅读全文
摘要:异步IO(Asynchronous Input/Output)和同步IO(Synchronous Input/Output)是处理输入输出操作的两种不同方式,它们的主要区别在于程序在进行IO操作时是否等待操作完成。 1.同步IO: (1)在同步IO中,当程序发起IO操作时,程序会被阻塞(即暂停执行)
阅读全文
摘要:Linux进程地址空间分为这几个部分:代码段(.text, .init, .rodata),数据段(.bss未初始化全局数据区,.data数据区),堆,栈 参考资料:Linux进程地址空间与进程内存布局详解 - 知乎 (zhihu.com) CPU 的 ring0,ring1,ring2,ring3
阅读全文
摘要:通过raw socket可以获取协议栈底层数据,实现流量监控等功能 参考博文:信息安全课程9:raw socket编程 - 知乎 (zhihu.com)
阅读全文
摘要:在学习dpdk的原理,看igb_uio驱动实现过程中,了解到该驱动做了两个工作: 1、 注册pci设备到igb_uio的id_table中,并通过sysfs和内核交互,把pci设备和igb_uio驱动绑定; 2、 让用户态的网卡驱动程序和uio交互; 在学习pci注册到igb_uio的原理时,涉及到
阅读全文
摘要:参考博文:【MySQL】MySQL在Centos7环境下安装_centos7安装mysql-CSDN博客
阅读全文
摘要:参考博文:Mysql之BufferPool机制_mysql bufferpool机制-CSDN博客
阅读全文