独钓寒江雪

用C++的优雅,驯服Windows的狂野

条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。

阅读全文 »

本文围绕 3 个问题来理解 C++的默认构造函数:

  1. 什么是默认构造函数?
  2. 默认构造函数什么时候被调用?
  3. 编译器在什么情况下会生成默认构造函数?
阅读全文 »

本文从实际需求出发,介绍了内存池的实现原理,并且提供了具体的实现方案。

为什么需要使用内存池

在 C/C++ 中我们通常使用 mallocfreenewdelete 来动态分配内存。
一方面,因为这些函数涉及到了系统调用,所以频繁的调用必然会导致程序性能的损耗;

另一方面,频繁的分配和释放小块内存会导致大量的内存碎片的产生,当碎片积累到一定的量之后,将无法分配到连续的内存空间,系统不得不进行碎片整理来满足分配到连续的空间,这样不仅会导致系统性能损耗,而且会导致程序对内存的利用率低下。

当然,如果我们的程序不需要频繁的分配和释放小块内存,那就没有使用内存池的必要,直接使用malloc,freenew,delete函数即可。

阅读全文 »

Windbg 是 Microsoft 公司推出的免费的、带 GUI 的调试器,支持 Source 和 Assembly 两种模式的调试。

Windbg 不仅可以调试应用程序,还可以进行系统内核调试,Windbg 支持的平台包括 X86、IA64、AMD64。

阅读全文 »
0%