自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (14)
  • 问答 (1)
  • 收藏
  • 关注

原创 【VC++】虚函数 内存结构 - 第五篇(多重继承,有虚函数覆盖)

【VC++】虚函数 内存结构 - 第五篇(多重继承,有虚函数覆盖)

2020-10-09 19:14:10 169

原创 【VC++】虚函数 内存结构 - 第四篇(多重继承,无虚函数覆盖)

【VC++】虚函数 内存结构 - 第四篇(多重继承,无虚函数覆盖)

2020-10-08 19:01:40 168

原创 【 C/C++】变量在内存里的存储区域

C/C++语言在内存中一共分为如下几个区域,分别是:内存栈区: 编译期间就能确定存储大小,运行时自动分配释放。存放函数的参数值、返回地址、局部变量的值等。在函数作用域内创建,在离开作用域后自动销毁。.esp 始终指向栈顶, 栈中的数据越多, esp的值越小。其操作方式类似于数据结构中的栈。存储空间是连续的,两个紧密挨着定义的局部变量,他们的存储空间也是紧挨着的。栈的大小是有限的,通常Visual C++编译器的默认栈的大小为1MB,所以不要定义int a[1000000]这样的超大数组。内存堆

2020-10-08 11:57:14 1456

原创 【VC++】虚函数 内存结构 - 第三篇(篇外篇)(类有无实体对象,对虚函数表的影响研究)

本文只是研究,并不一定正确,更不会很系统全面。若有错误,还请斧正!先贴上 完整代码:#include <IOSTREAM> //原创:https://blog.csdn.net/maoyeahcom/#include <Windows.h> //转载请指明出处,请勿用于商业用途using namespace std; //仅用于研究,不权威,可能存在错误class Base{public: virtual void F(){ cout<<"Base::F

2020-09-29 18:01:51 201

原创 【VC++】虚函数 内存结构 - 第三篇(单继承,有虚函数覆盖)

【VC++】虚函数 内存结构 - 第三篇(单继承,有虚函数覆盖)#include <IOSTREAM>using namespace std;class Base{public: int nBase1; int nBase2; Base(int n1,int n2):nBase1(n1),nBase2(n2) { cout<<"Base::Base("<<n1<<","<<n2<<")"<<end

2020-09-25 21:17:25 146

原创 【VC++】虚函数 内存结构 - 第二篇(单继承,无虚函数覆盖)

【VC++】虚函数 内存结构 - 第二篇(单继承,无虚函数覆盖)#include <IOSTREAM>using namespace std;class Base{public: int nBase1; int nBase2; Base(int n1,int n2):nBase1(n1),nBase2(n2) { cout<<"Base::Base("<<n1<<","<<n2<<")"<<end

2020-09-24 15:11:21 146

原创 【VC++】虚函数 内存结构 - 第一篇(单类)

前言 - 为何写此系列文章?网上讨论虚函数内存结构的文章很少,好不容易有几位大神写了几篇很精彩的文章,结果里面还有错误:陈皓大神的《C++ 虚函数表解析》:https://blog.csdn.net/haoel/article/details/1948051《C++ 对象的内存布局(上)》:https://blog.csdn.net/haoel/article/details/3081328《C++ 对象的内存布局(下)》:https://blog.csdn.net/haoel/article

2020-09-23 17:27:04 234

原创 Release版崩溃,用VS调试dump文件,定位代码出错行【VC++/Visual Studio】

人为制造一个崩溃,先直接看效果图:下面是实现过程,本文是VS2017为例:dump.h:#pragma once// dump.h#include <windows.h>extern LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo);dump.cpp:// dump.cpp#include <stdio.h>#include <windows.h>#include

2020-09-14 18:00:00 4000

原创 去掉/添加 代码行号(清除/增加 代码行号)(网上拷的代码有行号,去除行号)(自己写的代码前面加上行号)

有时,在网上copy的代码时,前面会有行号。代码少时,一行行 手工删除行号,还行;但代码多时,手工删除就笨拙了!有种方法,就是用正则表达式替换,但还是有点“打脑壳”,那就用我下面写的这个工具吧,简单快捷:后面工具又更新了,加入逆向功能“添加行号”:=======================================================================人和动物,最大的区别是:制造和使用工具。我负责“制造”,你负责“使用”,这才符合人类的行为 o&l

2020-08-28 17:53:57 1152

原创 如何确定两个 时间不同 的exe(或DLL),其对应的源代码 有没有改动?同一源码,编译两次,其MD5值不一样!【vc++/dumpbin】

一般情况,我们确定 两个文件 内容是否一样,一般是看其MD5值是否一样。`但是 同一套VC++代码,不作任何改动的情况下,每次生成的exe(或DLL),其MD5值都是不同的。这种情况下,怎么确定其对应的源码是一样的(没有作改动)?一种解决方案,用工具:dumpbin如果你机子上装了 VS,一般都会有 dumpbin如果装了多个VS版本,可以选一个版本最高的VS,其目录下的dumpbin(如64位目录下的),加入环境变量,方便以后经常使用。命令格式:dumpbin /disasm 我的

2020-08-21 12:00:18 1355

原创 判断PE文件(可执行程序exe、动态链接库dll)是32位,还是64位?

方法有很多,本文只介绍三种方法:================================================================================方法一: 最简单粗暴的方法:直接用记事本或者notepad++(文本编辑软件都可)打开exe文件(dll文件),会有很多乱码,接下来只需要在第二段中找到PE两个字母,在其后的不远出会出现d? 或者L。若是L,则证明是32位;若是d,则证明该程序是64位。32位(x86):64位(x64):====

2020-08-20 20:56:37 2485 1

原创 GetTextExtent、GetTextExtentPoint32 精确无误差的使用注意【vc++ / MFC】

网上有大量的有关“获取字符串的显示宽度”的文章,基本都是用 GetTextExtent 或 GetTextExtentPoint32,但大多数都没说字体的影响,直接结果是误差很大,包括MSDN上的示例:MSDN这段示例原代码:// Pointer to the myListBox.extern CListBox* pmyListBox;// Find the longest string in the list box.CString str;CSize sz;int dx=0

2020-08-20 15:24:00 3973 3

原创 C++ 调试值、打印值,不一样!!!!

VC6、VS2013上都试过。贴上代码,大家可以研究一下:#include <IOSTREAM>using namespace std;int main(int argc, char* argv[]){ const int a = 3; cout<<"原a: "<<a<<endl; const_cast<int&>(a) = 4; cout<<"后a: "<<a<<endl<&.

2020-07-06 20:03:20 811 1

原创 C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及 强制转换

直接上代码:#include <iostream>class CClass{public: //类 函数指针 void (*pClass_Func_Pointer)(int a); //类 静态函数 static void class_Static_Func(int a) { cout<<a<<"访问:类 静态成员函数"<<endl; } //类 函数 void class_Fu

2020-07-03 15:56:11 1115

原创 VC++ 的 CImageList 绘制背景透明的位图

程序效果图

2020-01-03 21:03:47 898

示例代码:Release版崩溃,用VS调试dump文件,定位代码出错行【VS2017】

手把手教你的精彩 配套博文地址:https://blog.csdn.net/maoyeahcom/article/details/108583124

2020-09-14

VC支持c99标准的:msinttypes-r26.zip

分享出来,因为官网下载地址 失效:http://msinttypes.googlecode.com/files/msinttypes-r26.zip

2020-09-11

【小工具】去掉/添加 代码行号(清除/增加 代码行号)

使用说明、使用效果,见文章:https://blog.csdn.net/maoyeahcom/article/details/108281995

2020-08-28

批量判断pe文件(exe、DLL) 是32位,还是64位

批量判断exe、DLL 是32位,还是64位,支持文件批量拖入,支持文件夹递归遍历,博文地址:https://blog.csdn.net/maoyeahcom/article/details/108131383

2020-08-20

C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换

博文地址:https://blog.csdn.net/maoyeahcom/article/details/107106680

2020-07-03

VC++/MFC 的 CImageList 绘制背景透明的位图

文章:https://blog.csdn.net/maoyeahcom/article/details/103827098

2020-01-03

VC++ 完美 动态创建控件、删除控件,并且不崩溃,无内存泄漏、GDI泄漏

VC++ 完美 动态创建控件、删除控件,并且不崩溃,无内存泄漏、GDI泄漏。程序健壮性好,随便整,随便测试,不会出错!!!

2019-11-08

WinDbg离线下载安装包 + 使用示例:Release崩溃crash找到出错的函数、行

WinDbg可以离线直接安装的两个包(x64、x86)、VC6的示例代码、WinDbg的使用教程,迅速学会一门技能:根据Release版本程序崩溃的信息,找到源代码里对应的函数、行。

2019-10-22

RSA、AES混合加密解密,Java工程、安卓Demo,1024和2048长度密钥都可用,兼容Android所有版本

大神弄的RSA、AES混合加密解密,这个是J2SE工程、安卓工程 的两个Demo,方便学习测试结果,也方便移植到自己的工程里。

2019-06-05

非IE内核 浏览器二开源码 windows/win32/VC++/vs/Webkit/Chrome/Chromium/CEF3

最新的内核版本 (Version) WebKit 537.36 Chrome 74.0.3729.157 的CMake后的win32下Visual Studio 2015工程,解压后,请用vs2015(或以上)打开Platform-win32目录下cef.sln,本人Debug模式、Release模式下都编译通过的: ========== 全部重新生成: 成功 6 个,失败 0 个,跳过 1 个 ==========

2019-05-30

字节映射,加密解密工具。适用于简单的网络通讯加密解密

我自己编写的一个工具。 字节映射,加密与解密 随机生成,并且 配对。适用于网络通讯简单的加密解密。如果密钥泄露了,C/S端也可通过这个工具换”密钥“。

2019-04-19

socket--文件传输--源代码--C++版(C/S双端)(服务器端+客户端)(Server+Client)

Tcp Socket 文件传输,VC++版,包含:服务器端 + 客户端。 以最简少的源代码,更容易学习原理,更有参考价值。 两个工程的包,才5KB哦!才5KB!才5KB! 没有冗余的东西。

2019-04-16

IIS6最完整版.rar:genset.htm,FP5AUTL.DLL,FP5AWEL.DLL,fpmmc.dll...

安装iis所必要的文件 安装IIS需要的一些文件,包含cfgwiz.exe,fp5amsft.dll,fp5autl.dll,FP5AVSS.DLL,fp5awel.dll,fpadmdll.dll,ntiis_addacct.htm,owsrmadm.exe,genset.htm等,在安装IIS6.0时必须的一些文件。一个个下?太麻烦,打包一起才省心省事!!!!!!!

2014-05-24

vs2003安装报错h2inc.err

别人发布的都是微软官方上的ml614.exe文件,需要运行解压,但不是所有人都能正常运行(比如64位win7跑不了这个EXE),于是我发个.rar包给大家用,直接解压到安装VS2003时缺少的文件压里面就行了。

2014-04-25

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

TA关注的人

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