摘要: 源代码和Runtime时执行的代码很可能不一样,这是因为编译器、处理器常常会为了追求性能对改变执行顺序。然而改变顺序执行很危险,很有可能使得运行结果和预想的不一样,特别是当重排序共享变量时。从源代码到Runtime需要经过三步的重排序: 1、编译器重排序 为了提高性能,在不改变单线程的执行结果下,可 阅读全文
posted @ 2021-06-16 13:48 钟齐峰 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1、相关文件和接口 #include <windows.h> CRITICAL_SECTION cs;//定义临界区对象 InitializeCriticalSection(&cs);//初始化临界区 EnterCriticalSection(&cs);//进入临界区 LeaveCriticalSe 阅读全文
posted @ 2021-06-16 12:28 钟齐峰 阅读(327) 评论(0) 推荐(0) 编辑
摘要: _CrtDumpMemoryLeaks()就是检测从程序开始到执行该函数进程的堆使用情况,通过使用_CrtDumpMemoryLeaks()我们可以进行简单的内存泄露检测。 #include "stdafx.h" #include <stdlib.h> #include <crtdbg.h> #de 阅读全文
posted @ 2021-06-16 09:47 钟齐峰 阅读(80) 评论(0) 推荐(0) 编辑