target_link_libraries 链接库顺序 target_link_libraries(test libA libB libC) # 链接顺序 libA <== libB <== libC 优先使用 libC
评价一台服务器的硬件资源是否能承载10Gbps流量的dpi深度协议解析还原的能力
概述 线程池(Thread pool)是一种常用的线程管理模式,它可以在需要时重复使用已创建的线程,而不是创建新的线程,从而减少系统开销和提高程序性能。线程池是通过维护一组工作线程,将多个任务分配给这些工作线程来完成的。
概述
概述
概述
概述 在软件开发过程中,功能完成度是一方面,软件性能也是非常重要的一方面,为了测试软件性能或者特定环境下的软件性能表现,可以借助一些工具分析软件性能及构造特定环境。
概述 内存由用户管理可能会导致很多问题,如访问空指针、访问野指针、内存越界访问、内存泄漏、重复释放。为什么会发生内存泄漏,本质上就是程序在堆上申请内存空间后,在使用完成后没有对应释放。在 C 语言中就是 malloc 后没有 free,C++ 中则是 new 后没有 delete, 但是 C++ 可以借助 RAII 机制(智能指针)自动释放申请的资源。那么如何检测程序中的内存泄漏呢?以下是几种常用手段。 代码走查,适用于代码查找范围小的情况 借助分析工具,如 valgrind 和 gcc 中的 sanitizer等 hook malloc/free 函数,实现自定义的 malloc/free 函数以统计内存申请释放情况
概述 在早期的Linux系统中,网卡命名是通过udev(一个动态设备管理器)和内核的net kernel subsystem(网络内核子系统)自动分配的,命名规则是按照物理设备的顺序来命名的,比如eth0、eth1、eth2等。这种命名方式会出现问题,例如在插拔网卡或者系统升级后,顺序可能会改变,导致网卡的命名混乱,从而影响网络配置。