- 博客(15)
- 资源 (5)
- 收藏
- 关注
转载 VC导出类得创建和使用
richTextEditor" class="mceEditor" style="height:450px;width:100%;"> 一、DLL的不同类型 使用MFC可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL 每个DLL都有某
2009-10-28 14:45:00 4581
原创 Linux下通用线程池的创建与使用
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务
2009-10-24 16:44:00 827
转载 STL中map、set的数据结构及底层实现
摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。 vector(向量)——STL中标准而安全的数组。只能在ve
2009-10-24 16:34:00 15862 1
转载 完成端口与高性能服务器程序开发
此文转自XFOCUS,看了发现这种多线程操作,我了解的太浅了,应该补,准备把此文作者最后列出的这两本书学西下:《windows核心编程》&《windows网络编程》Email:kruglinski_at_gmail_dot_comBlog:kruglinski.blogchina.com早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种
2009-10-24 16:32:00 712
原创 VC进度条实时显示
当我们在处理大程序时,常常需要耗很长时间,为了不让用户错误的认为系统已经死机,我们要给程序添加进度条,但是大家知道如果就直接添加进度条,并在程序里面控制它的进度,往往得到的结果是程序仍然像死机状态,直到处理完毕才显示进度条进度为100%,中间的过程看不到了,那么怎么办呢,是为什么呢?原因是我们处理大程序和进度条显示是在同一个线程中进行的,这样往往因为处理大程序导致界面无法实时更新。解决办法就
2009-10-24 16:29:00 14978 30
原创 文件读写时注意的细节问题
目录是否存在检查: BOOL FolderExist(CString strPath){ WIN32_FIND_DATA wfd; BOOL rValue = FALSE; HANDLE hFind = FindFirstFile(strPath, &wfd); if ((hFind!=INVALID_HANDLE
2009-10-24 16:26:00 805
转载 使用 OpenSSL 进行安全编程的基本方法流程
SSL通讯模型为标准的C/S结构,除了在TCP层之上进行传输之外,与一般的通讯没有什么明显的区别。在这里,我们主要介绍如何使用OpenSSL进行安全通讯的程序设计。关于OpenSSL的一些详细的信息请参考OpenSSL的官方主页http://www.openssl.org。 在使用OpenSSL前,必须先对OpenSSL进行初始化,以下的三个函数任选其一: SSL_lib
2009-10-24 16:04:00 1311
转载 使用 OpenSSL API 进行安全编程
级别: 初级Kenneth Ballard (kenneth.ballard@ptk.org), 自由程序员2004 年 8 月 09 日学习如何使用 OpenSSL —— 用于安全通信的最著名的开放库 —— 的 API 有些强人所难,因为其文档并不完全。您可以通过本文中的提示补充这方面的知识,并驾驭该 API。在建立基本的连接之后,就可以查看如何使用 OpenSSL 的 BIO 库来建立安全连接
2009-10-24 16:02:00 807
转载 UML表示类与类之间的关系
类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。类与类之间存在以下关系:(1)泛化(Generalization)(2)关联(Association)(3)依赖(Dependency)(4)聚合(Aggregation)UML图与应用代码例子:1.泛化(Generalization)[泛化]表示类与类之间的继承关系,接口与接口之间的继
2009-10-24 15:58:00 805
原创 回调函数的使用(四)
大家都知道对象是数据和方法的封装体。在C++中,它们分别表现为数据成员和成员函数。程序设计者通过执行对象的各种方法,来改变对象的状态(即改变对象的属性数据)。从而使该对象发生某些“事件”。当一对象发生某事件时,它通常需向其它相关对象发送“消息”,请求它们作出一些处理。 这时,发生事件并向其它对象请求处理的对象被称为“事件对象”,而处理事件的对象被称为“回调对象”。回调对象对事件的处理称为“回调函数
2009-10-24 15:57:00 992 2
原创 回调函数的使用(三)
MSDN文章理解: 实现回调函数1. BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam)表示此函数需要回调函数的线索之一是存在lpEnumFunc参数.如果参数采用指向回调函数的指针,其名称中通常会有lp(长指针)前缀与Func后缀的结合 22.创建托管回调函数.该实例声明一个名为Callback 委托类型,此委托类型采用两个
2009-10-24 15:56:00 747
原创 回调函数的使用(二)
凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如SetTimer,LineDDA,EnumObjects。回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)例如:----------------------------------------BOOL CALLBACK Dia
2009-10-24 15:54:00 594
原创 回调函数的使用(一)
简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
2009-10-24 15:52:00 716
转载 生成UUID算法的C语言实现-win32版本
根据定义,UUID(Universally Unique IDentifier,也称GUID)在时间和空间都是唯一的。为保证空间的唯一性,每个UUID使用了一个48位的值来记录,一般是计算机的网卡地址。 为保证时间上的唯一性,每个UUID具有一个60位的时间戳(timestamp)。这个时间戳表示自公元1582年(绝对不是1852,这是《COM技 术内幕》,1999年3月第1版第89页中的一个错误
2009-10-24 15:47:00 5503 1
转载 vc获取时间函数总结
如何获取时间?精度如何? A:1 使用time_t time( time_t * timer ) 精确到秒 计算时间差使用double difftime( time_t timer1, time_t timer0 )
2009-10-24 15:23:00 11106 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人