上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 一 、Windbg介绍: Windbg是一款功能十分强大的调试工具,它设计了极其丰富的功能来支持各种调试任务,包括用户态调试、内核态调试、调试转储文件、远程调试等等。 二、具体使用 ● STEP 1:生成dump文件 #include "stdafx.h" #include"windows.h" # 阅读全文
posted @ 2022-02-08 17:10 zwj鹿港小镇 阅读(2774) 评论(0) 推荐(0) 编辑
摘要: 一、零长度数组概念 众所周知, GNU/GCC 在标准的 C/C++ 基础上做了有实用性的扩展, 零长度数组(Arrays of Length Zero) 就是其中一个知名的扩展,多数情况下, 其应用在变长数组中, 其定义如下 struct Packet { int state; int len; 阅读全文
posted @ 2021-09-25 15:55 zwj鹿港小镇 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 一、迭代器 迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,你可以通过sizeof(vector::iterator)来查 阅读全文
posted @ 2021-09-10 23:20 zwj鹿港小镇 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 一、不能使用一个原始地址初始化多个共享智能指针 如下代码 #include "stdafx.h" #include <iostream> #include <windows.h> #include <memory> using namespace std; struct Test { shared_ 阅读全文
posted @ 2021-08-15 18:10 zwj鹿港小镇 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 弱引用智能指针 std::weak_ptr 可以看做是 shared_ptr 的助手,它不管理 shared_ptr 内部的指针。std::weak_ptr 没有重载操作符 * 和 ->,因为它不共享指针,不能操作资源,所以它的构造不会增加引用计数,析构也不会减少引用计数,它的主要作用就是作为一个旁 阅读全文
posted @ 2021-08-15 16:22 zwj鹿港小镇 阅读(140) 评论(0) 推荐(0) 编辑
摘要: std::unique_ptr 是一个独占型的智能指针,它不允许其他的智能指针共享其内部的指针 一、初始化 (1)构造函数初始化: 可以通过它的构造函数初始化一个独占智能指针对象,但是不允许通过赋值将一个 unique_ptr 赋值给另一个 unique_ptr。 // 通过构造函数初始化对象 un 阅读全文
posted @ 2021-08-15 12:12 zwj鹿港小镇 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 一、获取原始指针 #include "stdafx.h" #include <iostream> #include <windows.h> #include <memory> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { in 阅读全文
posted @ 2021-08-15 00:35 zwj鹿港小镇 阅读(878) 评论(0) 推荐(1) 编辑
摘要: 共享智能指针是指多个智能指针可以同时管理同一块有效的内存,共享智能指针 shared_ptr 是一个模板类 一、shared_ptr 的初始化 (1)通过构造函数 std::shared_ptr<T> 智能指针名字(创建堆内存); #include "stdafx.h" #include <iost 阅读全文
posted @ 2021-08-14 13:01 zwj鹿港小镇 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 在 C++ 中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smart pointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露。智能指针的核心实 阅读全文
posted @ 2021-08-14 10:52 zwj鹿港小镇 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 一、作用 std::bind用来将可调用对象与其参数一起进行绑定。绑定后的结果可以使用std::function进行保存,并延迟调用到任何我们需要的时候。通俗来讲,它主要有两大作用: (1)将可调用对象与其参数一起绑定成一个仿函数。 (2)将多元(参数个数为n,n>1)可调用对象转换为一元或者(n- 阅读全文
posted @ 2021-08-11 00:24 zwj鹿港小镇 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 一、错误如下: 这个错误是说在0x01F641A8处发生堆问题,下一句是说在堆buffer末尾内存中写入了数值。 二、错误原因 这个问题显然在动态分配、释放时内存才会发生的。在解决这个问题问题前首要要了解在new和delete时堆中的内存是怎么分配的,是什么内存结构? 引用《c++反汇编与逆向分析技 阅读全文
posted @ 2021-08-10 21:21 zwj鹿港小镇 阅读(2772) 评论(0) 推荐(0) 编辑
摘要: 一、现象 点击调试,程序立马退出,输出窗口显示:未找到依赖dll。 二、原因 程序引用了第三方库,程序没有找到库。 三、解决 方法1:”将dll放置可执行目录下。 方法2:设置库目录如下 阅读全文
posted @ 2021-08-05 21:23 zwj鹿港小镇 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一、实验代码 1 #include <iostream> 2 #include <windows.h> 3 4 int main() 5 { 6 while (true) 7 { 8 int* arr = new int[1024]; 9 std::cout << arr << std::endl; 阅读全文
posted @ 2021-08-04 09:35 zwj鹿港小镇 阅读(2322) 评论(0) 推荐(0) 编辑
摘要: 一、为啥使用constexpr 在介绍 gcc/g++ 工作流程的时候说过,C++ 程序从编写完毕到执行分为四个阶段:预处理、 编译、汇编和链接 4 个阶段,得到可执行程序之后就可以运行了。需要额外强调的是,常量表达式和非常量表达式的计算时机不同,非常量表达式只能在程序运行阶段计算出结果,但是常量表 阅读全文
posted @ 2021-07-31 09:19 zwj鹿港小镇 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 平时使用'\'去做转译, 在 C++11之后, 出现了原始字面量,定义方式为:R "xxx(原始字符串)xxx",表示括号里的字符串是原始的字符串,不需要做转译。其中()两边的字符串可以省略。当有时,两边必须相同。 二、使用 案例1: #include<iostream> #include 阅读全文
posted @ 2021-07-25 23:44 zwj鹿港小镇 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 这个问题大家应该都清楚,是调用了vsprintf.c的里面的sprintf_s函数,目标内存太小导致程序崩溃了。 如果项目使用的地方不多,那每个地方仔细检测一下,应该能解决掉。 但是,我在项目中遇到的调用这个函数的地方上千行,没法一个一个去检测,所有我把这个函数全部由: _snprintf 这个函数 阅读全文
posted @ 2021-07-18 15:48 zwj鹿港小镇 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 编译环境VS2017,调用第三发库报一下错误: 原因:出现这个问题的原因是vs2017默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数 解决办法:在项目属性->链接器->输入里面加入库legacy_stdio_definitions. 阅读全文
posted @ 2021-05-10 23:35 zwj鹿港小镇 阅读(4108) 评论(0) 推荐(0) 编辑
摘要: 一、原子互锁家族函数: (1)InterlockedIncrement: 加1操作。 (2)InterlockedDecrement: 减1操作。 (3)InterlockedExchangeAdd: 加上“指定”的值,可以加上一个负数。 (4)InterlockedExchange、Interlo 阅读全文
posted @ 2021-05-02 10:26 zwj鹿港小镇 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一、全局变量 注意:必须是一个进程底下的线程才可以使用全局变量,因为同一个进程底线的所有线程共享地址进程的地址空间。 二、发消息 //消息定义 #define MY_THREAD_MSG (WM_USER + 100) //接收 UINT PrintFunction(LPVOID pParam) { 阅读全文
posted @ 2021-05-01 23:03 zwj鹿港小镇 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 1、flamingo即时通讯 https://github.com/balloonwj/flamingo 2、TeamTalk https://github.com/balloonwj/TeamTalk 阅读全文
posted @ 2021-04-15 22:35 zwj鹿港小镇 阅读(72) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页