自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孟源的专栏

学,然后知不足

  • 博客(23)
  • 资源 (18)
  • 收藏
  • 关注

原创 Template-Based Classes的用法

1、简单型 Template-Based Classes使用时需要指定参数      CArray    CList    CMap      其中type用来指定你希望收集的对象的类型(int,float或者其他C++的类),arg_type则用来指定函数的参数类型。例如:      CArry m_intArray;      m_intArray.Add(15);      表示需要一个in

2007-08-30 19:11:00 1920

转载 rand和srand的用法

 首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。rand(产生随机数) 表头文件: #include 定义函数 :int rand(void) 函数说明 : 因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围

2007-08-30 15:23:00 1985

原创 四种进程间通信方式简介与比较

CreatePipe(&m_hRead, &m_hWrite, &sa, 0)创建匿名管道CreateProcess("..//Child//debug//Child.exe", NULL, NULL, NULL,TRUE,        0, NULL, NULL, &sui, &pi)通过STARTUPINFO结构体sui将父进程匿名管道读写句柄传递给子进程 sui.hStdInput = m

2007-08-28 16:39:00 9692 3

原创 利用剪贴板进行进程间通信

发送端代码:if (OpenClipboard())  //打开一个剪贴板    {        CString str;        HANDLE hClip;        char *pBuf;        EmptyClipboard();  //清空剪贴板,并将剪贴板的所有权分配给打开它的窗口        GetDlgItemText(IDC_EDIT_SEND, str);  

2007-08-23 15:42:00 1514

原创 使用异步选择函数WSAAsyncSelect

Windows Sockets为了支持Windows消息驱动机制,使应用程序开发者能够方便地处理网络通信,它对网络事件采用了基于消息的异步存取策略。Windows Sockets的异步选择函数WSAAsyncSelect()提供了消息机制的网络事件选择(lEvent),当使用它登记的网络事件发生时,Windows应用程序相应的窗口(hWnd)函数将收到一个消息(wMsg),消息中指示了发生的网络事

2007-08-22 18:56:00 1241

原创 阻塞和非阻塞

Windows套接字在两种模式下执行I/O操作,阻塞和非阻塞。在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数会一直等待下去,不会立即返回程序(将控制权交还给程序)。而在非阻塞模式下,Winsock函数无论如何都会立即返回。Windows Sockets为了支持Windows消息驱动机制,使应用程序开发者能够方便地处理网络通信,它对网络事件采用了基于消息的异步存取策略。Windows

2007-08-22 16:56:00 910

原创 三种线程同步方式的比较

1、互斥对象和事件对象属于内核对象,利用内核对象进行线程同步,速度比较慢,但是利用内核对象,可以在多个进程的多个线程之间进行线程同步。2、关键代码段是工作在用户方式下,同步速度比较快,但容易产生死锁,因为在等待进入关键代码段时,无法设定超时值。一般在进行多线程编程时,首选关键代码段,如果在一个mfc程序中使用,可以在一个类的构造函数中调用InitializeCriticalSection函数,在这

2007-08-20 16:05:00 1922

原创 利用关键代码段实现线程同步

关键代码段是工作在用户方式下,关键代码段(临界区)是指一小代码段,在代码能够执行前,他必须独占对某些资源的访问权。 每个临界区对象对应于一个临界资源。#include #include DWORD WINAPI Func1Proc(LPVOID lpParameter);DWORD WINAPI Func2Proc(LPVOID lpParameter);int tickets = 100;CRI

2007-08-20 15:34:00 737

原创 利用事件对象实现线程同步

事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置事件还是人工重置事件的bool值,另一个用于指明该事件处于已通知状态(有信号状态)还是未通知状态(无信号状态)的bool值,当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程,需要用ResetEvent函数设置其事件状态,且WaitForSingleObject不能设置该事件对象的状态。当一个自动重置的事件得到

2007-08-20 14:40:00 872 1

转载 WinSock学习笔记

Socket(套接字)◆先看定义:typedef unsigned int u_int;typedef u_int SOCKET;◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。◆Socket有五种不同的类型:1、流式套接字(stream socket)定义:#define SOCK_STRE

2007-08-19 16:36:00 927

转载 多线程编程小结

程序和进程 程序是计算机指令的集合,它以文件的形式存储在磁盘上。 进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。 进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。 进程由两个部分组成:

2007-08-19 16:33:00 693

原创 利用互斥对象实现线程同步

1、关于WaitForSingleObject的返回值If the function succeeds, the return value indicates the event that caused the function to return. This value can be one of the following.

2007-08-18 21:26:00 995

原创 关于socket编程

使用socket之前要先通过WSAStartup()函数加载socket库和进行该库的版本协商,注意其第一个参数wVersionRequested 通过MAKEWORD宏来获取,宏参数的高位字节代表该库副版本,而高位字节代表主版本。对于每一个WSAStartup()的成功调用(成功加载WinSock.dll后),在最后都对应于一个WSACleanUp调用,以释放为该应用进程释放的资源。1、基于TC

2007-08-17 16:16:00 1085

原创 乱记Serializable Class

通俗的说,一个可以Serializable的类就是支持archive>操作的类。如何定义一个Serializable ClassFive main steps are required to make a class serializable. They are listed below and explained in the following sections: De

2007-08-16 17:11:00 1001

转载 关于CDocManager类

msdn中居然找不到CDocManager类的说明,网上找到这篇文档,有待分析。首先有个不明白的地方,我的书上说CDocManager类是不公开的,可是我还是找到了他的类定义和实现,真搞不懂她这个不公开是什么意思???        CDocManager的定义如下:class CDocManager : public CObject{ DECLARE_DYNAMIC(CDocManage

2007-08-16 15:28:00 2970 3

原创 MFC中关于打开和另存为对话框中过滤器的编程

利用CFileDialog类来制作另存为和打开对话框    CFileDialog filedlg(FALSE);  //FALSE表示制作另存为对话框,TRUE为打开对话框    filedlg.m_ofn.lpstrTitle = "我的文件保存";  //filedlg.m_ofn是一个OPENFILENAME 结构体,通过对该结构体成员的改变来修带对话框的相关属性。其lpstrTitle中

2007-08-15 16:42:00 3625 1

原创 MFC中的图象保存--关于兼容DC和CMetaFileDc的用法

MFC中的图象保存一般有三种方法:1、把图象中的各个图象的完整相关信息(点坐标,图象类型)以一个结构体保存,将其指针加入到CPtrArray类对象中,然后在OnDraw函数中取出相关信息绘图。2、使用兼容DC:先将当前图象贴到一个内存CBitmap对象块中,然后再用兼容DC将其SelectObject,OnDraw函数中在拷贝兼容DC的内容到当前的绘图DC中完成重绘操作。//保存当前位图的操作  

2007-08-14 22:20:00 6160 3

转载 浮点数的内存布局

1. 什么是浮点数在计算机系统的发展过 程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式,比如 99.00 或者 00.99 可以用于表达具有四位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用四位数值来表

2007-08-13 13:42:00 1582 1

原创 MFC中如何自定义消息(加点关于MFC的牢骚)

1、在需要接收用户自定义消息的头文件中#define UM_PROGRESS WM_USER+n (n为一个正整数,因为windows的标准消息都小于WM_USER,这样可以避免和标准消息重复,Microsoft推荐自定义消息值至少为WM_USER+100) ;2、在类头文件中加入自定义消息处理函数的声明:afx_msg void OnProgress();,注意消息附加参数的使用;3、在类的实现

2007-08-12 23:09:00 1395

转载 C语言中可变参数的用法

C语言中可变参数的用法        我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:  int printf( const char* format, ...);  它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:  printf("%d",i);  printf("%s",s);  pri

2007-08-12 14:28:00 709

原创 关于隐式提供缺省构造函数的一个误区

很多C++的教材中都讲:“如果一个定义一个类,并且不提供任何构造函数的话,那么编译器将会隐式的提供一个缺省构造函数”。以下节录ISO C++ 99的文档的原文:The default constructor (12.1), copy constructor and copy assignment operator (12.8), and destructor (12.4)are special m

2007-08-05 17:10:00 3992 1

原创 C语言中的位操作例子(将任一整数转换为二进制形式)

将任一整数转换为二进制形式*问题分析与算法设计将十进制整数转换为二进制的方法很多,这里介绍的实现方法利用了C语言能够对位进行操作的特点。对于C语言来说,一个整数在计算机内就是以二进制的形式存储的,所以没有必要再将一个整数经过一系列的运算转换为二进制形式,只要将整数在内存中的二进制表示输出即可。#includevoid printb(int,int);int main(){    int x;p

2007-08-04 22:35:00 8438 1

原创 关于sizeof和strlen的区别

先看几个例子:char *str1="absde"; char str2[]="absde"; char str3[8]={a,}; char ss[] = "0123456789";  首先说明一点,char类型占一个字节,所以sizeof(char)是1,这点要理解 str1是一个指针,只是指向了字符串"absde"而已。所以sizeof(str1)不是字符

2007-08-04 16:37:00 1324 1

tiny xml 2.6.1

c++ 读写xml文件 开源包 短小精悍 值得学习

2011-04-05

vc6配置pc lint文档

vc6配置pc lint文档 网上找的几篇文章的集合

2011-01-10

PLSQL Developer8.0.2

PLSQL Developer8.0.2 破解版 注册机

2010-12-14

PLSQL Developer8.0.2汉化程序

plsqldevelop8.0 汉化程序 需要先安装PLSQL Developer8.0.2

2010-12-12

Oracle入门教材2

Oracle9i PL_SQL从入门到精通 _oracle傻瓜手册v2.0.pdf

2010-11-20

pdg阅读器绿色版。。。。

pdg阅读器 绿色版pdg阅读器 绿色版pdg阅读器 绿色版pdg阅读器 绿色版pdg阅读器 绿色版pdg阅读器 绿色版

2010-11-20

oracle oci

很简单的东西,oracle oci 和 curse 也不用下载了。

2010-11-16

ApabiReader

方正ceb格式的文件阅读器 绿色版 应该有人需要的吧

2010-11-14

oracle入门教材合集

Oracle9.0入门 从实践中学习oracle sql oracle数据库基础

2010-11-14

vc6使用(自用的东西,没价值的)

中转下,明天删除 vc6使用(自用的东西,没价值的)

2010-11-14

Oracle专家高级编程(Expert_one-on-one_Oracle中文版).part2.rar

Oracle专家高级编程(Expert_one-on-one_Oracle中文版).part2.rar

2010-11-14

Oracle专家高级编程

经典oracle 教材,tom的大作Expert_one-on-one_Oracle,每个学习oracle的人都应一看。 两个压缩包,这是压缩包1

2010-11-14

OpenGL三维图形程序设计(4)

压缩包4<br>.。。。。。。。。。。。。。。。。。。

2007-12-29

OpenGL三维图形程序设计(红宝书)

压缩包3<br>凑字数。。。。。。。。

2007-12-29

OpenGL三维图形程序设计

压缩包2<br>凑字数。。。。。。。。。。。。

2007-12-29

opengl参考手册(蓝皮书)

opengl蓝皮书 不用说的经典<br>还有opengl的红皮书,不过是扫描版的,30m多。

2007-12-29

opengl红宝书OpenGL三维图形程序设计

opengl入门书籍

2007-12-24

Effective C++ 第三版

Effective C++ 第三版 英文的

2007-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除