10 锋行天下-宇希

尚未进行身份认证

暂无相关简介

等级
TA的排名 40w+

event事件

事件event:一个线程需要通知其他线程某项任务已经完成了。也就是说A线程执行完某个操作后,需要通知B线程,A线程的任务已经完成,B线程可以开始执行了。等B线程执行完某个操作后,再通知C线程,B线程的任务已经完成,C线程可以开始执行了,等C线程执行完成后,如果没有其它线程,则退出。CreateEvent函数   HANDLE CreateEvent(   LPSECURITY_AT...

2019-08-15 22:33:53

CriticalSection 临界区

临界区(Critical Section):某些共享资源具有互斥性,也就是它要求被互斥地使用 ,在任何时刻都只能有一个线程使用它。在程序中最常见的是全局变量的互斥使用和缓冲区的互斥使用。临界区的出现形式是一小段代码,这一小段代码中包含互斥资源。临界区也有一定的局限性:它只能用于同步单个进程中的线程。在这里大家得注意一点就是:“在任何的关于同步机制中,不论是在哪一个操作系统下,我们都...

2019-08-14 21:55:59

Mutex互斥对象

Mutex互斥对象:用于确保一个线程独占对一个资源的访问。假如有两个线程要访问一个全局变量,那么要用mutex互斥量,进程同步。代码片段如下:声明:int g_TicketCount = 50; //两个线程g_thread1 和 g_thread2对全局变量g_TicketCount访问。HANDLE g_Mutex;HANDLE g_thread1;HANDLE ...

2019-08-13 22:40:41

C++一个简单的线程例子

下面是一个简单的线程例子,以后可以按照这个写。.h文件:#pragma once#include <windows.h>class CMyThread{public: CMyThread() { m_stopFlag = false; m_Handle = nullptr; } ~CMyThread()...

2019-08-09 15:15:11

C++动态库的创建和使用

记录一下动态库的创建和使用:1,创建前面文章已经介绍过了,注意如下一点,DLLCreate.dll和 DLLCreate.lib 就是生产的文件。2,使用使用和静态库的使用是一样的。不一样的地方是:需要将DLLCreate.lib , DLLCreate .dll , DLLCreate .h 这三个文件拷贝到现在的工程目录下,同时需要将DLL...

2019-08-08 21:12:03

C++静态库的创建和使用

记录一下静态库的创建和使用:Lib的创建a,创建Win32项目b,选择静态库,点击完成c,右键LibCreate,选择添加C++类d,输入添加的类名:例如CLibTest,点击完成按钮即可。e,在.h中输入类的声明,在.cpp实现。f,编译重新生成项目,在Debug目录下,就生成了两个文件。g,至此,lib文件的创建,到此完成。2.Lib的使用...

2019-08-06 22:09:01

windbg生成和分析dump

记录一下使用windbg.exe生成和分析dump文件的过程:1,在 客户机 的注册表中配置调试工具为windbg.exe,具体方法见上面文章。2,配置完成后,在 客户机 运行程序,使程序崩溃。如下:下面的例子是除0崩溃的例子。输入0后,程序崩溃,跳出windbg工具的界面:3,在工具栏点击如图所示的按钮, 或者在命令窗口输入g,然后回车,使程序运行,如下图:...

2019-08-05 22:18:51

C++,PDB和dump文件进行调试的方法

关于PDB和dump文件进行调试的方法,现在总结一下:1,PDB和dump的概念前面已经说过了,参照前面的文档。2,另外记录一下另一个问题:在用vss调试时,出现了错误,比如除数是0,或者空指针等问题,vs有时候会中断,有时候不会中断。按照下图设置就会在出现错误时,程序中断:工具 --->选项:3,PDB文件的获得参照上面介绍。4,dump文件如何获得?两种方法,下面分别...

2019-08-02 16:08:27

C++回调函数(三)

上一篇已经讲了如何生成dll和lib,已经生产了MyDLLTest.dll和MyDLLTest.lib两个文件,这一篇记录一下这两个文件如何使用。新建一个win32控制台程序,新建步骤略过,完成后把MyDLLTest.dll和MyDLLTest.lib两个文件拷贝到debug文件夹目录下:C++连接dll库,有两种方式,显式连接和隐式连接,分别介绍:1,显式连接显式连接不需...

2019-07-12 14:39:03

C++回调函数(二)

上一篇文章中提到了“库开发者”和“用户”两个概念,这篇以“库开发者”的角色说明dll和lib的新建和使用。1,打开vs2013,新建,win32项目,2,确定,下一步,3,完成后,解决方案如下:4,在MyDLLTest.h和MyDLLTest.cpp中,删除多余部分。5,删除后,添加自己的代码:.h文件如下:// 下列 ifdef 块是创建使从 DLL ...

2019-07-11 17:12:32

C++回调函数(一)

转载...............回调函数回调函数是一个时时听到的概念,比如在windows API编程时遇到的WinProc函数,就是我们编写而由操作系统调用的函数。现在,我们需要慢慢又详细的记录一下这个问题。库与使用者的问题在开始之前,首先我们想像这样一个情景,一个大型软件公司开发一套软件库提供给用户使用。在这句话中,出现两个对立面,一个是软件公司,一个是用户。显然,软件公司实...

2019-07-11 09:54:52

c++宏的多行定义

下面用宏的多行定义,写一个把某个类型转换为string#include <string>#include <iostream>#include <sstream>#define CHARTOSTRING(val,str)\{\ stringstream sst;\ sst << val;\ str = sst.s...

2019-07-02 15:39:36

C++产生随机数

C++产生随机数C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand()。不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随机的伪随机数。rand()rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。...

2019-07-02 10:05:57

WPF 数据绑定

http://blog.csdn.net/iamsupercola/article/details/7041996该博客里面有关数据绑定的讲解,可以很好的理解数据绑定。

2016-09-08 13:00:56
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。