
51CTO:C++网络通信引擎架构与实现一
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
ETW(Event Tracing for Windows) 概述 ETW是Windows提供的高性能内核级事件追踪机制,能够以极低开销(通常<5% CPU)实时捕获系统和应用程序事件 ETW架构核心组件 事件生产者 内核级 系统组件(如进程管理器、TCP/IP协议栈) 用...
程序执行所用的时间 关于优化的一点 标准 C++标准允许一种(编译器)实现省略创建一个只是为了初始化另一个同类型对象的临时对象。指定这个参数(-fno-elide-constructors)将关闭这种优化,强制G++在所有情况下调用拷贝构造函数。 表现 当编译器遇到需要用一个类对...
委托构造函数 一个委托构造函数使用它所属类的其他构造函数执行它自己的初始化过程,或者说它把它自己的一些(或全部)职责委托给了其他构造函数。 一个委托构造函数也有一个成员初始化值得列表和一个函数体。 在委托构造函数中,成员初始化值列表只有一个唯一得入口,就是类名本身。 conste...
意义 设计并发数据结构,意味着多个线程可以并发的访问这个数据结构,线程可对这个数据结构做相同或不同的操作,并且每一个线程都能在自己的自治域中看到该数据结构。且在多线程环境下,无数据丢失和损毁,所有的数据需要维持原样,且无条件竞争。这样的数据结构,称之为“线程安全”的数据结构。 本...
结构化绑定 结构化绑定允许我们解构和绑定返回的元组、数组或结构体中的值,使得代码更加简洁和可读 嵌套命名空间 C++17 允许使用嵌套命名空间声明的简写方式,减少冗长的代码 std::filesystem 跨平台文件系统操作 std::variant std::variant 是...
一次性事件 C++标准库模型将这种一次性事件称为期望future 当一个线程需要等待一个特定的一次性事件时,在某种程度上来说它需要知道这个事件在未来的表现形式。之后,这个线程会周期性的等待或检查,事件是否出发 在检查期间也会执行其他任务,直到对应的任务触发,而后等待期望的状态会变...
定义 使用 引入gflags文件夹 定义下面的宏 使用
使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...
指针 概述 通常所说的“指针”就是指 指针类型的变量,它保存了 内存中另一个变量的地址 通过这个指针保存的地址,我们可以 间接访问 指针指向的内存位置的数据 这个过程称为 解引用(dereferencing) 示例 *ptr 表示 通过指针 ptr 访问其保存的地址所指向的数据 ...
搜索当前标签