摘要:
STL——stack容器 stack(栈)是一个先进后出的数据结构 构造函数 stack<T> stk stack(const stack &stk) 赋值操作 stack& operator=(const stack &stk) 重载等号运算符 数据存取 push(elem);向栈中添加元素 po 阅读全文
2021年1月27日
2021年1月25日
2021年1月24日
摘要:
C/C++反汇编-各种表达式 基于vs2019的反汇编 优化 对于vs来说一般的优化有两种方案: O1:生成可执行文件空间小 O2:执行效率高 在vs2019中的release默认是采用的O2方案来处理也就是执行效率优先,而在debug版本中为了调试比较方便可能就会优化比较少。接下来的反汇编会在re 阅读全文
摘要:
Windows编程-异步IO-2 如果进行多个ReadFile或者别的文件操作的函数,调用WaitForSingleObject等待的是句柄,所以没有办法鉴别是那一个文件操作函数执行完毕。 异步IO结构体-overlapped typedef struct _OVERLAPPED { ULONG_P 阅读全文
摘要:
Windows编程-异步IO-1- 当我们读取一个文件时,一般情况下,线程是阻塞的,也就是当前线程在等待文件读取操作结束,也就是这个线程只用来读文件,等读完了再返回。这种方式叫做同步IO。 Windows在系统底层为用户实现了另一种高效的机制,叫做重叠I/O,又称作异步I/O。异步I/O操作提供了一 阅读全文
摘要:
Windows编程-线程-线程同步2 也是游戏防止多开的原理 事件 事件(Event)是在线程同步中最常使用的一种同步对象,事件包含一个使用计数,一个是用来表示自动重置/手动重置的布尔值,另一个是表示事件有没有触发的布尔值。 事件对象有两种状态:1、手动状态。2、自动状态 手动状态事件对象的激发态和 阅读全文
2021年1月23日
摘要:
多个线程访问相同资源的时候会产生冲突 解决方案A:原子操作函数 imterpckedIncrement()原子自增函数 解决方案B: 临界区:原子操作只能解决某一个变量,只能使得一个整形变量,但是如果要进行一整段代码,就需要用到临界区 EnterCriticalSection进入临界区 LeaveC 阅读全文
2021年1月22日
摘要:
Windows编程-线程 概念 进程是操作系统分配资源的单位,线程是执行任务的单元。一个进程至少有一个线程。线程还可以再创建线程,不过每一个线程都是独立的执行单元,相互间没有从属关系 创建线程-CreateThread 每个程序都会有一个主线程也就是每个程序的最开始跑的线程。 HANDLE Crea 阅读全文
2021年1月21日
摘要:
Windows编程-控件的使用-按钮 控件的创建方式 通常有两种方式: 1 CreateWindow创建,用Windows内置类名 2 用在对话框资源上面的托拉拽方式创建 创建方法有不同但是使用的时候是一样的 操作控件的相关函数 函数名效果 GetDlgItem 获得控件的句柄 SendMessag 阅读全文