自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

就是那个党伟

早起的鸟儿有虫吃,早起的虫虫吃嫩叶。

  • 博客(250)
  • 资源 (20)
  • 收藏
  • 关注

原创 创建线程的方法(windows)

windows上常用的创建线程的方法:CreateThread(),_beginthread(),std::thread。

2024-05-16 11:04:35 816

原创 构造函数不能做为虚函数

虚函数对应一个虚函数表,这大家都知道,可是这个虚函数表其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过虚函数表来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。

2023-09-20 10:39:13 345 1

原创 C++11 Lambda表达式

*捕获列表:**用来说明外部变量的访问方式,外部变量访问方式说明符可以是 = 或 & ,表示函数体中用到的、定义在外面的变量在函数体中是否允许被改变。[=, &a] 表示按值传递的方法捕获父作用域的所有变量,但按引用传递的方法捕获变量a。[&, a] 表示按引用传递的方法捕获父作用域的所有变量,但按值传递的方法捕获变量a。函数对象定义在调用的地方,直接看到上下文,可读性更强,方便修改;[&] 表示按引用传递的方法捕获父作用域的所有变量。[=] 表示按值传递的方法捕获父作用域的所有变量。

2023-05-15 18:21:40 515 1

原创 C++ 智能指针和使用陷阱

weak_ptr 设计的目的是为配合 shared_ptr 而引入的一种智能指针,来协助 shared_ptr 工作, 它只可以从一个 shared_ptr 或另一个 weak_ptr 对象构造, 它的构造和析构不会引起引用记数的增加或减少。如果我们主动释放掉get 函数获得的指针,那么智能 指针内部的指针就变成野指针了,析构时造成重复释放,带来严重后果!譬如:Boy类中有Girl的智能指针;智能指针的赋值拷贝,首先拷贝指向对象的指针,再使引用次数加减操作,虽然引用次数加减是原子操作,

2023-05-10 17:29:35 896

原创 windbg错误码汇总

windbg错误码汇总。

2023-03-15 15:35:51 1176

原创 map、multimap、unordered_map

map、multimap、unordered_map

2023-03-02 20:27:36 393

原创 STL的特点

STL

2023-03-02 20:14:33 123

原创 vector、list、queue

vector/list/queue

2023-03-02 20:06:46 470

原创 C++多态的方式:重写和重载

重载和重写

2023-03-02 19:50:05 211

原创 析构函数作为虚函数的作用

虚析构函数的作用

2023-03-02 19:31:04 686

原创 虚函数的原理

虚函数的原理

2023-03-02 19:17:50 137 1

原创 线程共享和私有的数据

线程共享和独享的数据

2023-03-01 16:43:21 124

原创 C++多线程的同步

多线程的同步

2023-03-01 16:32:22 805

原创 windows进程间的通信

windows进程间通信

2023-03-01 15:55:54 742

原创 windows码农屠龙手册

windows程序员面试指南

2023-03-01 15:18:07 362

原创 [gflags]开启页堆处理堆破坏问题

当我们从普通堆管理器分配一块内存时,内存总是8字节对齐的,页堆默认情况下也会使用这个对齐规则,但是这会导致分配的内存块的结尾不能跟页边界精确对齐,可能存在0-7个字节的间隙,显然,对位于间隙范围内的访问是不会被立即发现。因为每次分配的内存都要以这种形式布局,尤其对于小片的内存分配,即使分配一个字节,也要分配一个内存页,和一个保留的虚拟内存页(注意在目前的实现中,这个用作边界保护区域的页从来不会被提交)。正常页堆原理与CRT调试内存分配函数类似,通过分配少量的填充信息,在释放内存块时检查填充区域。

2022-09-27 18:22:43 557

原创 程序崩溃后windbg自动启动

1.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下,新建子项。2.在新的子项 Infloflow.exe 下,新建字符串,命名 debugger,数据填写 windbg.exe 的路径。譬如调试的进程是 infoflow.exe,就取名 infoflow.exe。3.使用管理员权限打开命令行,执行 windbg -I (大写I)

2022-09-26 10:11:38 964

原创 【windows核心编程】第二章-笔记

windows

2022-09-13 02:50:02 133

原创 【windows核心编程】第一章-笔记

windows核心编程

2022-09-13 00:10:06 169

原创 【性能监视器】监视查看CPU、内存等数据

性能监视器,windows,内存,cpu

2022-08-30 14:43:44 4064

原创 【Visual Studio】调试过程中VS卡死无响应

最近在使用vs2022 debug调试过程中,经常出现vs2022直接卡死无响应,最后发现问题的原因是加载符号导致。解决方案:调试 - 选项 - 符号1.取消勾选 xxx 符号服务器2.选择 仅加载指定的模块

2022-07-12 15:24:54 14755 18

原创 windows获取系统DPI

dc.GetDeviceCaps(LOGPIXELSX); //每英寸水平逻辑像素数dc.GetDeviceCaps(LOGPIXELSY); //每英寸垂直逻辑像素数dc.GetDeviceCaps(HORZRES); //水平像素总数dc.GetDeviceCaps(VERTRES); //垂直像素总数dc.GetDeviceCaps(DESKTOPHORZRES); //可视桌面的水平像素总数dc.GetDeviceCaps(DESKTOPVERTRES); //可视桌面的水平像素总数dc

2022-02-17 18:08:34 3479

原创 【SDK8.1】VS2019/VS2022 安装SDK8.1

VS2019 开始,默认不包含SDK8.1,因此如果需要SDK8.1则需要单独安装。SDK8.1 官网下载地址:https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive/

2021-12-31 15:19:22 6802

原创 UML类图

标题uml类图分为两部分,一部分是表示类,一部分表示类与类之间的关系。uml是怎么表示类的?在面向对象中,常用的类有以下几种类:普通类抽象类接口1)普通类的表示咱们先来定义一个女人类,公有属性为:名字,年龄私有属性为:身份证号码,家庭地址,公有方法为:吃饭,睡觉,私有方法为:生孩子,做家务。那么在uml类图上怎么展示呢?...

2021-12-27 15:46:56 264

原创 [VS] 线程解冻和冻结

工具:vs2019系统:win10语言:C++本文主要通过 VS 自带的诊断工具,对线程进行冻结和解冻调试。昨天遇到一个问题,客户端会发出 gss0.bdstatic.com 的请求,但是代码里并没有搜到。所以需要定位是dll哪个模块发出。程序启动后,打开线程界面:对其中的线程进行单独冻结:最后定位到,是其中一个 xxx.dll ,发送的请求。...

2021-09-01 14:21:10 544

原创 Sublime Ctrl + Shift + F 快捷键不生效

解决方法:检查输入法是否占用了 ctrl+shift+f 的快捷键。搜狗、百度输入法都会占用该快捷键,用于简体和繁体的切换。

2021-03-25 11:09:01 643

原创 [VS] 诊断工具,检测内存泄漏,进行内存调优

工具:vs2019系统:win10语言:C++github 调试 demo:dangwei-90/ProcessOptimize (github.com)本文主要通过 VS 自带的诊断工具,对程序进行memory 内存调优。

2021-01-19 11:26:12 6088 4

原创 [VS] 诊断工具,CPU调优

工具:vs2019系统:win10语言:C++github 调试 demo:dangwei-90/ProcessOptimize (github.com)本文主要通过 VS 自带的诊断工具,对程序进行CPU调优。Begin1. 编译测试 demo 读者可以通过dangwei-90/ProcessOptimize (github.com)下载,也可以自己编写测试 demo. 通过一个 while 循环来占用 CPU 资源。void CProcessOptimizeDlg...

2021-01-19 11:15:39 1474

原创 [C/C++] undefined reference to ‘std::cout‘

gcc TrackersManger.cpp -o TrackersManger编译时出现如下错误:原因是:编译 cpp 文件时,需要使用 g++ 编译,改为如下即可:g++TrackersManger.cpp -o TrackersManger

2021-01-13 11:15:40 944

原创 [C++]生产消费模型

生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。github源码路径:https://github.com/dangwei-90/Design-Mode// 此文件包含 "main" 函数。程序执行将在此处开始

2021-01-05 11:58:19 300

原创 [libtorrent] linux 搭建 libtorrent 开发编译环境

操作系统:ubuntu 20.04(参考文档:http://libtorrent.org/building.html)搭建 libtorrent 步骤:一. 下载源码 1. 从官网下载 libtorrent 源码 git clone --recurse-submodules https://github.com/arvidn/libtorrent.git 2. 安装 gcc sudo apt install gcc g++ automake ...

2020-12-29 15:55:13 728

原创 [xbttracker] linux 下 xbt tracker环境搭建(ubuntu)

系统环境:Ubuntu x64 20.04操作系统:win10xbt源码:https://github.com/dangwei-90/xbt参考文档:http://xbtt.sourceforge.net/tracker/ (官网)(注:官网 xbt 源码已经无法下载)XBT Tracker 环境搭建一. 安装依赖库 1. 安装 boost sudo apt-get install libboost-dev 2. 安装 mysql (*sql 版...

2020-12-28 14:34:42 501

原创 [git] git 更换仓库并保留提交记录

方法简单好用:1. 从原地址克隆一份裸版本库,比如原本托管于 GitHub。 git clone --bare https://github....(原始仓库地址)2. 进入克隆下来的目录 cd project.git(project即为克隆下来的项目目录)3. 以镜像推送的方式上传代码到新的仓库地址。 git push --mirror http://...(目标仓库地址)done....

2020-12-28 11:38:21 859 2

原创 [libtorrent] tracker 逻辑及源码解析(调试)

操作系统:win10开发工具:VS2019(libtorrent 源码的开发环境搭建可以参考:[libtorrent] windows搭建 libtorrent 开发环境_二七-CSDN博客)(ubuntu BitTorrent 搭建可以参考:[Tracker] linux 搭建 BitTorrent_二七-CSDN博客)...

2020-12-22 16:01:54 701

原创 [Tracker] linux 搭建 BitTorrent

虚拟机: vmware 15虚拟机系统:ubuntu 20.04本机系统: win10Ubuntu 搭建BitTorrent本文是在虚拟机中搭建 bitrtorrent 和 web 平台,生成BT种子后,在本机可以下载一. 安装 BitTorrent1. 安装 python (如果已有 python 则跳过此步) sudo apt-get install python2. 通过命令安装 BitTorrent sudo apt-get inst...

2020-12-18 21:13:37 1817 2

原创 [libtorrent] windows搭建 libtorrent 开发环境

操作系统:win10开发工具:VS2019(参考文档:libtorrent)搭建 libtorrent 步骤:一. 安装 vcpkg 和 boost1.安装 vcpkg 到本地 git clone https://github.com/microsoft/vcpkg2.执行bootstrap-vcpkg.bat 脚本 .\vcpkg\bootstrap-vcpkg.bat3.添加vcpkg环境变量 环境变量->PTAH->添加 vcpkg...

2020-12-17 15:54:26 2007 6

原创 [ubuntu传送门] ubuntu官网下载太慢解决办法

下载连接:http://mirrors.163.com/ubuntu-releases/20.04/

2020-12-17 11:45:49 201

原创 chromium 之 CSS 解析过程(代码调试)

平台: WIN10调试工具: vs2019chromium: 78.0.3904.108解析网站: www.so.com(有条件的小伙伴建议根据文章里的断点,自己调试,分析堆栈和查看数据的结构,可能会有不同的理解)CSS解析过程下图是CSS的解释过程,具体是从CSS字符串经过CSS解释器处理后变成渲染引擎的内部规则表示的过程未完待续...

2020-12-15 11:47:11 671

原创 chromium 之 DOM tree 解析和创建(代码调试)

平台: WIN10调试工具: vs2019chromium: 78解析网站: www.so.com(有条件的小伙伴建议根据文章里的断点,自己调试,分析堆栈和查看数据的结构,可能会有不同的理解)WebKit构建DOM所使用的主要基础设施类下图是 chromium webkit 构建 dom 树时,主要用到的类,我们会在下图中部分类的实现中,进行跟踪,分析 dom 的构建过程DocumentLoader(src\third_party\blink\ren...

2020-12-09 12:01:25 665 2

原创 [C++] CreateThread() 与 _beginthread() 的区别

在windows开发中,我们有两种创建线程的方式:第一种:Windows API CreateThread() 来创建线程;用ExitThread() 来退出线程;第二种:调用MSVC CRT的函数 _beginthread()或_beginthreadex()来创建线程;用 CRT的_endthread() 来退出线程。而实际上,_beginthread()的内部实现,也是通过调用CreateThread() 来实现的创建线程。这两种方式的区别在于,CreateThread()...

2020-12-04 11:26:39 637

DotNetFramework_3.5.zip

.net Framework是微软的.net框架程序的运行库。.NET Framework 3.5用于构建具有视觉上引人注目的用户体验。NET Framework 3.5是支持生成和运行下一代应用程序和XML Web Services 的内部Windows 组件。Microsoft .NET Framework 3.5实现跨技术边界的无缝通信,并且能支持各种业务流程。

2020-04-27

PcShutDownByTime.zip

定时关机小程序。 源码路径:https://github.com/dangwei-90/PcShutDownByTime

2020-04-26

StopSysSleep.zip

windows系统,防止系统睡眠和休眠的小工具。 源码路径:https://github.com/dangwei-90/StopSysSleep

2020-04-26

gsview和ghostscript(不需要注册码).rar

gsview和ghostscript(不需要注册码).rar

2017-11-08

189个常用修改注册表REG

189个常用修改注册表的REG文件 本人亲测,安全有效!

2013-09-01

104个常用注册表文件

压缩包内文件格式: 可执行文件 附件来源: 互联网 运行平台: Windows平台 是否经本人验证: 是 附件性质: 免费 详细说明: 还在苦苦的找寻吗?104个常用注册表文件 本资料共包含以下附件: 104个常用注册表文件.rar

2013-09-01

chm类型的VB下API

VB的API调用,CHM格式,类似于MSDN,方便查询,搜索

2013-08-31

微软Overlay Linker3.60编译器

微软Overlay Linker3.60编译器 经过本人亲测,可以完美使用。

2013-05-01

C++笔试题[c++]

C++笔试题。 常见笔试题和常见题库。 供C++童鞋面试笔试时参考。

2013-04-30

企业管理系统【C/C++】

企业管理系统【C/C++】 只实现了简单功能,可以作为毕业设计使用。 内含源代码。

2013-04-30

Visual+C++软件项目开发实例源码

Visual+C++软件项目开发实例源码 配合 Visual+C++软件项目开发实例 书使用。

2013-04-27

dotNet特性演示软件(附加源码)

dotNet特性演示软件(附加源码) 取自 --软件项目开发实例

2013-04-27

MyDraw绘图软件(附加源码)

MyDraw绘图软件(附加源码) 取自 --软件项目开发实例

2013-04-27

网络数据管理系统(附加源码)

网络数据管理系统(附加源码) 取自 ----=软件项目开发实例

2013-04-27

Hook钩子教程

钩子的简单使用,适合初步想要了解的童鞋 钩子的函数使用

2013-04-24

MFC简单教程

关于MFC的学习与使用 适合初学者。可以简单了解MFC

2013-04-24

数据库第四版答案

数据库第四版的答案,对比书本后一致 供大家参考

2011-12-24

CB6.0界面开发实例

关于界面开发的、呃、个人觉得不错、很受用 !!!

2011-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除