VLD的安装

在网上下载好VLD的库后,准备在VS2022上使用它:

  1. 把VLD的include目录给加入到VS中。这里打开想要使用VLD的项目的属性页,在VC++的包含目录中添加对应的include目录:

  2. 引入VLD的静态库(lib),还是在属性页中,先添加VLD的lib路径至VC++库目录;再将对应的lib文件名添加到链接器->输入->附加依赖项中(记得32位跟64位分开配置):

  3. 引入VLD的动态库(dll),直接在项目所在文件夹中把他们扔进去就好:

  4. 在main.cpp中,首先包含vld.h头文件,即可使用。

VLD的使用

待补充…

使用时碰到的问题

  1. Call Stack 无输出:

    请保持路径是 全英文 的,并且在vld.ini中,将ReportEncoding由ascii改为unicode.

C++内存描绘

程序被执行后就被称为一个进程,一个进程可以被划分为很多区域,主要为:

  1. 代码区&常量区:进程按照代码区的代码执行,真正的常量也存储在这里。

    PS:const关键字只是让编译器将变量视为常量,和真正的常量有本质上的区别。

  2. 栈区:执行函数所需要的空间。当函数执行完毕,对应的栈内存会被销毁。

  3. 堆区:进程用来灵活分配内存的地方,只有手动释放时才会销毁内存

  4. 静态变量区:用来存储静态变量和全局变量的区域。

    1. 静态变量:局部作用范围,生命周期长
    2. 全局变量:会破坏封装性,不推荐使用
阅读全文 »
0%