C++_关于Invoke
概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...
概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...
WebBrowser 概述 WebBrowser 控件是微软提供的用于在 Windows 应用程序中嵌入浏览器功能的 ActiveX 控件 基于 Internet Explorer 的 Trident 渲染引擎 框架 核心接口: 主要通过 IWebBrowser2 COM 接口进...
寄存器 问题 寄存器在写汇编的时候是随便用的吗 寄存器的使用有严格的规则和约定,违反这些规则会导致程序崩溃或出现难以调试的 bug 32位-常见调用约定对比 特性 GCC cdecl MSVC __cdecl MSVC __stdcall MSVC/GCC __fastcall ...
nvm 管理node.js多个版本 nvm-windows github 命令 安装卸载 查看已安装node.js版本 查看官方可按照的版本 切换到指定版本 显示当前使用的版本 指定默认版本 新打开的终端会自动使用它 查看或设置 nvm 存储版本的目录路径 设置 Node.js ...
进程 本质 进程是资源分配的基本单位,是一个执行环境的容器 在Windows内核中,每个进程由一个EPROCESS(Executive Process)结构体表示 EPROCESS关键结构 进程地址空间 概述 每个进程拥有独立的虚拟地址空间(32位系统4GB,64位系统理论上25...
某程序替换图片资源,发现还是显示旧的 简述 替换了程序的一些背景图片,安装图片 编译后发现还是显示旧资源的内容 清理visual studio项目缓存,重新编译还是显示旧资源内容 分析 资源替换成功了,重新编译了,还显示旧内容,那说明跑起来的程序内部的资源本身就是旧的内容 也就是...
通用 配置符号路径 目的 让WinDbg能够将内存地址翻译成可读的函数名,否则调用栈全是地址,无法分析 命令 识别 Dump 类型和架构 目的 确定是什么类型的dump(full dump? mini dump?) 32位还是64位程序 操作系统版本 是否是WOW64(64位系统...
条件断点 字符串 wstring 具体是用那个表达式,可以先在监视窗口查看该变量下面的内容 allocator、_Myval2、_Bx、_Buf和_Ptr string 参考wstring CString 其他 多字节字符串函数总结 字符串比较 字符串查找 字符串复制 字符串连接...
cpp 数据模型和数据类型大小 C++ 数据类型的大小并不是完全固定的,而是由数据模型(Data Model)决定的 不同的操作系统和编译器组合会采用不同的数据模型 为什么有不同数据模型 Windows 选择 LLP64 是为了最大化 32 位代码兼容性 保持 long 为 4 ...
动态规划 概述 动态规划通过将复杂问题分解为相互重叠的子问题,并利用存储中间结果来避免重复计算,从而高效解决具有最优子结构特性的问题 其核心在于 “状态定义” 和 “状态转移” 实现步骤 定义状态 (State Definition) 这是动态规划最基础且关键的一步。你需要定义一...