Windows_进程地址空间相关
进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...
进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...
进程地址空间 概述 示例代码 图示 内核空间 内核空间是什么 内核空间是进程虚拟地址空间的高地址部分,在 64 位 Linux 上位于 0xFFFF800000000000 以上,占 128TB 它和用户空间的根本区别不是"地址高低",而是页表属性: 内核空间...
静态类型 概述 静态类型是一个表达式在编译期就确定的类型,它由声明决定,永远不会改变 示例 无论运行时 p 实际指向什么,p 的静态类型始终是 Animal*,这是编译器在词法分析阶段就锁死的 什么时候确定 编译期,词法/语义分析阶段 编译器看到变量声明时,立刻将类型信息记入符号...
线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑
概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...
WebBrowser 概述 WebBrowser 控件是微软提供的用于在 Windows 应用程序中嵌入浏览器功能的 ActiveX 控件 基于 Internet Explorer 的 Trident 渲染引擎 框架 核心接口: 主要通过 IWebBrowser2 COM 接口进...
async 概述 用于简化异步任务执行的高级抽象 它的核心目标是让你能方便地启动一个任务并在未来获取其结果,而无需直接管理线程的生命周期、同步等底层细节 std::async可以看作是 std::promise, std::packaged_task和 std::thread的高...
概述 首先,stack是一个容器适配器 理论上,任何提供了 push_back(), pop_back(), back()等操作的序列容器都可以作为 stack的底层容器 为什么默认是deque deque之所以成为默认选择,是因为它在以下几个方面取得了最佳平衡: 相对于vect...
概述 C++中的函数调用,本质上就是通过函数地址定位到进程地址空间的代码区中对应的指令序列,然后跳转执行 编译阶段 编译时 - 生成符号和调用指令 函数声明与符号生成 编译器看到函数 func 的声明(或定义)时,会将其名称作为一个符号(Symbol) 记录在目标文件(.o...
httplib使用 Get Post form-data 比较 Get 参数位置 url末尾(查询字符串或路径) 参数长度 受URL长度限制(通常2048字符内) 安全性 参数明文暴露在URL和浏览器历史中 幂等性 幂等(多次请求效果相同) 缓存 响应可被浏览器主动缓存 Post...
搜索当前分类