上一页 1 ··· 7 8 9 10 11 12 13 下一页

2008年1月28日

Win32下两种用于C++的线程同步类(下)

摘要: 我介绍了一种通过封闭Critical Section对象而方便的使用互斥锁的方式,文中所有的例子是两个线程对同一数据一读一写,因此需要让它们在这里互斥,不能同时访问。而在实际情况中可能会有更复杂的情况出现,就是多个线程访问同一数据,一部分是读,一部分是写。我们知道只有读-写或写-写同时进行时可能会出现问题,而读-读则可以同时进行,因为它们不会对数据进行修改,所以也有必要在C++中封装一种方便的允许... 阅读全文

posted @ 2008-01-28 16:50 highmayor 阅读(475) 评论(0) 推荐(0) 编辑

Win32环境下两种用于C++的线程同步类(上)

摘要: 线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是需... 阅读全文

posted @ 2008-01-28 16:10 highmayor 阅读(331) 评论(0) 推荐(0) 编辑

2008年1月23日

COM, COM+ and .NET 的区别(转载)

摘要: 所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序。 有两种使代码重用的选择: 1.白盒:最简单的一种,就是把你的程序片拷贝到另一个文件中。 2.黑盒:它包括把编译过的程序片连接起来。因此客户端可以调用的编译过的黑盒类库就叫作组件。 .Net中也同样为开发者提供了类似于COM的建立和展开组件的方法。开... 阅读全文

posted @ 2008-01-23 08:36 highmayor 阅读(317) 评论(0) 推荐(0) 编辑

2008年1月18日

VC6中使用COM库的三种方法

摘要: 本文所用的程序框架均为对话框模式的MFC EXE工程。在编程前,首先要确定待操作的代码组件是否已经在系统中注册。如果代码组件没有注册,可以通过Windows"System目录下的regsvr32. exe程序对其进行注册。 一、使用COM库函数 1.包含COM的头文件和接口定义的.c文件 在头文件中包含了接口的C++定义,在.c文件中说明了接口ID IID和类ID CLSID的符号化常量,例如... 阅读全文

posted @ 2008-01-18 11:29 highmayor 阅读(1488) 评论(0) 推荐(0) 编辑

2008年1月16日

windows消息列表带解释

摘要: WM_NULL = $0000; WM_CREATE = $0001; 应用程序创建一个窗口 WM_DESTROY = $0002; 一个窗口被销毁 WM_MOVE = $0003; 移动一个窗口 WM_SIZE = $0005; 改变一个窗口的大小 WM_ACTIVATE = $0006; 一个窗口被激活或失去激活状态; WM_SETFOCUS = $0007; 获得焦点后 WM_KILLFOC... 阅读全文

posted @ 2008-01-16 17:40 highmayor 阅读(1297) 评论(0) 推荐(0) 编辑

Windows消息值列表

摘要: #define WM_NULL 0x0000 #define WM_CREATE 0x0001 #define WM_DESTROY 0x0002 #define WM_MOVE 0x0003 #define ... 阅读全文

posted @ 2008-01-16 17:37 highmayor 阅读(2462) 评论(2) 推荐(1) 编辑

2008年1月2日

std string 的常用使用

摘要: 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重 1、Define string s1 = "hello"; string s2 = "world"; string s3 = s1 + "," + s2 +"!\n"; 2、append s1 += ",shanshan\n"; 3、Co... 阅读全文

posted @ 2008-01-02 12:02 highmayor 阅读(5933) 评论(0) 推荐(0) 编辑

2007年12月24日

c#文件读写操作

摘要: 1.read Text file try { FileStream fs = new FileStream(@"c:\test.txt", FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); string curLine; while( (curLine = sr.... 阅读全文

posted @ 2007-12-24 14:11 highmayor 阅读(650) 评论(0) 推荐(0) 编辑

动态库和静态库和运行时库和引入库的区别

摘要: 1。运行时库:Unix中一个典型的运行时库例子就是libc,它包含标准的C函数,如,print(),exit()等等,用户能创建他们自己的运行库(在Windows中是DLL),而具体的细节依赖编译器和操作系统的。 2。静态库:函数和数据被编译进一个二进制文件(通常扩展名为.lib),静态库实际上是在链接时被链接到EXE的,库本身不需要与可执行文件一起发行。 3。动态库:用VC++创建的动态库包含两... 阅读全文

posted @ 2007-12-24 14:04 highmayor 阅读(3722) 评论(1) 推荐(0) 编辑

2007年12月12日

解析XML文件

摘要: XML文件如下: ... 阅读全文

posted @ 2007-12-12 15:15 highmayor 阅读(251) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 下一页

导航