严于律己 宽以待人
2019-02-22
2019-02-18
2018-12-27
格式化字符串有讲究
2018-12-25
2018-12-25
更进一步
2018-12-13
前情提要:
VLD要记录每次的内存分配,它通过Windows提供的分配钩子allocation hooks来监视调试堆内存的分配。它是一个用户自定义的回调函数,在每次从堆中分配内存之前被调用,在初始化是VLD使用_CrtSetAllocation注册这个钩子函数。 全局变量在程序初始化时就初始化,如果将VLD作为一个全局变量就可以与程序一起启动,但是C/C++并没有约定全局变量初始化的顺序,如果其它全局变量的构造函数中有内存分配则可能无法检测到。
https://blog.csdn.net/fan_hai_ping/article/details/8023433
1 |
注:子模块(动态链接库)中包含 vld.h 并正确配置 vld lib 才能暴露子模块中的内存泄漏问题。
C++ 类模板的惰性会使静态成员被使用时才实例化。
模板单例模式,为保证静态变量实例化,给静态变量类型增加内联空函数,并调用之。(不影响性能,不扩大占用空间。)
https://docs.microsoft.com/en-us/cpp/preprocessor/init-seg?view=vs-2017
http://www.cnblogs.com/hgy413/archive/2011/10/15/3693581.html
2018-12-01
Socket 是应用层和传输层之间的一个抽象层,
有很多选项可对其进行控制:
SO_DEBUG |
SO_OOBINLINE |
SO_REUSEADDR |
SO_LINGER |
SO_TYPE |
SO_RCVLOWAT |
SO_ERROR |
SO_SNDLOWAT |
SO_DONTROUTE |
SO_RCVTIMEO |
SO_RCVBUF |
SO_SNDtIMEO |
SO_SNDBUF |
TCP_MAXSEG |
SO_KEEPALIVE |
TCP_NODELAY |
2018-11-30
引用计数
引用计数是计算机编程语言中的一种内存管理技术,是指将资源(可以是对象、内存或磁盘空间等等)的被引用次数保存起来,当被引用次数变为零时就将其释放的过程。
使用引用计数技术可以实现自动资源管理的目的,同时引用计数还可以指使用引用计数技术回收未使用资源的垃圾回收算法。
当创建一个对象的实例并在堆上申请内存时,对象的引用计数就为1,在其他对象中需要持有这个对象时,就需要把该对象的引用计数加1,需要释放一个对象时,就将该对象的引用计数减1,直至对象的引用计数为0,对象的内存会被立刻释放。