使用 Visual Studio 开发过程中,你很容易遇到一种情况就是多个文件来回的切换,在每一块实现不同的业务,打开多个文件后在上面的标签中来回点击,有时标签打开多了,还会超出标签导航的范围,需要点击最右侧的小箭头才能找到自己打开的文件。这样来回切换很容易错乱,弄不好头脑就晕了。我在被折磨了许久以后想了想,肯定...
我不喜欢长期显示着隐藏文件,这样看着目录结构比较乱,所以平时用的时候都是隐藏,而有的时候需要看一些隐藏的目录里面的内容,又需要显示出来,这样操作比较麻烦,所以在右键添加上 显示/隐藏 系统隐藏文件 功能,可以快速在某个目录下切换显示隐藏文件的状态,不必到资源管理器的菜单中再花几个步骤去调整了。在网上搜索了一些方法...
内存泄露带来的问题我想我就不必多少了,检测内存泄露有很多种方法,比如使用一些智能指针。但本文介绍的方法有些不同,我们将自己维护一个数组列表,记录下 new 内存时代码所在的文件、行号、以及大小、和是否已经被 delete 信息,将这些信息放到我们维护的数组中,当程序要检查内存泄露或者程序退出时,我们遍历整个堆内存...
AWE (Address Windows Extension) 可以使用开启 PAE 后普通应用程序无法使用到的内存,这部分内存系统可能无法识别,但通过 AWE 则可以完美访问。操作 AWE 内存的具体步骤如下,大部分内容来自北风网视频教程。 1、开窗 VirtualAlloc + MEM_PHYSICAL,明确...
Windows 堆内存是性能仅次于虚拟内存的内存管理机制。它不像虚拟内存,每次分配至少是一个页面(4K),它可以灵活的只分配 1 个字节来使用,不浪费内存的空间。但你分配的内存必须由自己维护释放。下面演示了堆内存的使用方法。 最简单的堆使用123456789101112131415161718192021222...
perl 语法的变态在下面的代码中体现更甚,一条没头没尾的正则,不知道的还以为是语法错误,实际它是可以正常执行的。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#!per...
我也算学了基本脚本语言的人,Au3、Pyhon、PHP、JavaScript、Shell 都用过,但这个家伙是有点让我膛目,语法简直简练到不能再简练了。一下午的时间看了看他的基础语法和示例,做一下记录。 123456789101112131415161718192021222324252627282930313...
以前介绍过 VMMap 工具是可以查看一个进程中的虚拟内存信息的,其内部的实现原理就是调用 VirtualQueryEx 函数(支持查看其他进程)得到一个进程的虚拟内存信息。根据学习的视频我也自己实现了一下,但我们用到的是 VirtualQuery 来查看自身进程的内容。 1234567891011121314...
大页面的的应用场景及注意事项如下(出自北风网 VC++ 系列视频教程,请到官网下载尊重版权): 大页面的内存是不能换页的,只能常驻于RAM中,不会存在页面文件中 (即大页面不会换页,物理内存紧张时慎用) 大页面的内存算作进程的私有页面,不会统计在进程工作集中 因为大页面尺寸远大于小页面尺寸,分配一个大页面必须要...
虚拟内存一次保留(MEM_RESERVE 可以理解为申请)最小就是 64K,一次提交(MEM_COMMIT)至少是一个页面 4K。而往往有的时候我们不知道我们到底需要多少虚拟内存才够使用,所以可能需要动态分配,下面例子演示了如何使用结构化异常机制,动态根据需要分配内存给一个不断写入新字符的空间使用。例子来自 MS...