VC++/MFC
guoxiaoqian8028
这个作者很懒,什么都没留下…
展开
-
string,CString,int,char*之间的相互转换
《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2.c_str(),返回有”\0“的字符串数组 3.copy() ................................................................. int 转 CString: CSt转载 2012-08-31 16:29:41 · 470 阅读 · 0 评论 -
Visual C++四种线程同步技术
Visual C++线程同步技术有四种:临界区,事件,信号量,互斥量 使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果转载 2012-08-31 16:27:10 · 627 阅读 · 0 评论 -
剖析MFC多线程程序的同步机制
在线程执行过程中,或多或少都需要彼此交互,这种交互行为有多种形式和类型。例如,一个线程在执行完它被赋予的任务后,通知另一个线程任务已经完成。然后第二个线程做开始剩下的工作。 下述对象是用来支持同步的: 1)信号量 2)互斥锁 3)关键区域 4)事件 每个对象都有不同的目的和用途,但基本目的都是支持同步。当然还有其他可以用来同步的对象,比如进程和线程对象。后两者的使用由程序员决定,比如说转载 2012-08-31 16:25:55 · 2224 阅读 · 0 评论 -
CAsyncSocket,CSocket的使用方法
Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。 也许初涉编程的人不能理解“同步(或阻塞)”和“异步(或非阻塞)”,其实简单两句话就能讲清楚,同步和异步往往都是针对一个函数来说的,“同步”就是函数直到其要执行的功能全部完成时才返回,而“异步”则是,转载 2012-08-31 16:23:52 · 685 阅读 · 0 评论 -
C++指针详解
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5转载 2012-08-31 16:09:20 · 518 阅读 · 0 评论 -
VC中各种view、app、mainframe等句柄的获取(转)
VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的 方法 A: GET App AfxGetInstanceHandle() AfxGetApp() GET Frame->View->Document SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument()转载 2012-08-08 21:15:58 · 4098 阅读 · 1 评论 -
条件变量的使用
Slim读/写锁 SRWLock的目的和关键段相同,对一个资源进行保护,构造了一段“原子访问”的代码,不让其他线程访问它。但与关键段不同的是SRWLock允许区分想要读取资源值的线程和想要写入资源值的线程,因为仅仅读取资源是不会破坏数据的,下面是Slim读/写锁的简单用法: ? 1 2 3 4 5 6 7转载 2012-10-16 22:30:57 · 954 阅读 · 0 评论 -
自绘控件的4种方法
在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 — 在功能和外观两方面。例如,我们假定您正在创建一个类似于计速表的控件。由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的代码,进行绘制,默认终端用户的交互,以及控件与其父窗口之间需要的任意消息处理。 (#add 两转载 2014-05-17 23:17:22 · 8323 阅读 · 1 评论