自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 需要避免的MYSQL客户机程序设计错误

本文讨论一些常见的MySQLC API 程序设计错误,以及如何避免其发生(这些问题在MySQL邮件清单中会周期性地突然出现)。1. 错误1——使用未初始化的连接处理程序指针我们已经通过传递NULL 参数调用了mysql_ i n i t ( ),这就是让它分配并且初始化MYSQL 结构,然后返回一个指针。另外一种方法是将指针传递到一个已有的MYSQL 结构中。在这种情况下, mysql_i

2007-11-30 09:10:00 604

原创 深入探讨MFC消息循环和消息泵

http://www.pconline.com.cn/pcedu/empolder/gj/vc/0405/384759.html 

2007-11-29 13:31:00 665

原创 深入剖析MFC中对于Windows消息处理、运行机制

       本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出 MFC》后,感觉到VISUAL C++的Application FrameWork十分精制[不敢用“完美”一词]。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书 也没能得到解决,近日,通过在CSDN上网友的帮助,和查

2007-11-29 13:29:00 618

原创 Windows Socket API 使用经验

本文是我在进行MS-Windows、HP-unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。 一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使 用Socket的程序在使用Socket之前

2007-11-22 23:02:00 674

原创 VC面向对象开发分析与设计实例解析

众 所周知,面向对象的程序设计更适合对现实生活中的描述,更加体现了软件的工业化的精神,所以现在大部分的软件开发工作都围绕OOP的思想来进行的。但是在 对现实生活中的实际问题,如何对所研究的系统进行面向对象的分析与设计呢?本篇文章以一个实际的例子,向大家介绍一下如何对实际问题进行分析和设计。   一.问题描述:   该实例是一个电梯载客问题,问题的描述如下:   某贸易中心共10层,设有载客电梯1部

2007-11-22 17:48:00 773

原创 基于TCP的局域网多用户通信、文件传送程序详解

一、构架设计  整个系统分为三个相关的程序模块,即注册登陆服务器(wbQQRegSer)、聊天通信服务器(wbQQChat)以及用户程序(wbQQClient)。其中,注册登陆服务器负责用户的注册、登陆以及数据库管理;通信服务器负责完成数据转发以及共享数据结构的管理;用户端则完成注册、登陆、通信和文件传送功能。在进行文件传送时,任一客户程序均可以既作为文件传送服务器发送文件,也可以作为客户端接收

2007-11-22 17:46:00 1573

原创 用WINSOCK实现聊天室的VC++程序设计

http://www.xgdown.com/article/236/34152_1.htm 

2007-11-22 17:09:00 1858

原创 Sqlite内存数据库在多线程下的使用问题

WINDOWS平台,多线程服务器,我想创建一个全局内存数据库,然后在其他线程里面使用这个库,包括读写,弄的时候发现有几个问题:1  方法一:程序启动时创建一个全局Sqlite连接,各个线程都可以操作这个实例。但经测试发现,这么做,如果不做同步,读写都会冲突。也就是说,无论读写,只能有一个线程操作该实例,这样未免也太痛苦了,读也需要同步,效率降低太多。2  方法二:如果把数据库创建到文件,那么可以在

2007-11-20 13:25:00 5289 1

原创 Sqlite的FAQ学习

(7) Can multiple applications or multiple instances of the same application access a single database file at the same time?这里面提到,sqlite允许多个应用同时操作一个数据库文件,但由于它通过fcntl函数来控制读写锁,因此不能像其它的C/S模式数据库那样(如mysql

2007-11-20 13:24:00 1095

原创 解析ifstream 与ofstream的用法

ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(  向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)  从流中输入数据

2007-11-19 14:40:00 902

原创 利用VC++与MSXML解析XML文档

一、文档对象模型(DOM)  DOM是Document Object Model(文档对象模型)的简称,是对XML文档进行应用开发、编程的应用程序接口(API)。作为W3C公布的一种跨平台、与语言无关的接口规范,DOM提供了在不同环境和应用中的标准程序接口,可以用任何语言实现。  DOM采用对象模型和一系列的接口来描述XML文档的内容和结构,即利用对象把文档模型化。这种对象模型实现的基本功能包括:

2007-11-18 20:36:00 994

原创 线程本地存储 (TLS)

线程本地存储 (TLS) 是一个方法,通过该方法,给定的多线程进程中的每个线程都可以分配存储线程特定数据的位置。通过 TLS API(TlsAlloc、TlsGetValue、TlsSetValue、TlsFree)方式支持动态绑定(运行时)的线程特定数据。除了现有的 API 实现,Win32 和 Visual C++ 编译器现在还支持静态绑定(加载时间)基于线程的数据。TLS 的 API 实

2007-11-18 19:41:00 1207

原创 线程本地存储(Thread Local Storage, TLS)

线程本地存储(Thread Local Storage, TLS)在多线程编程中, 同一个变量, 如果要让多个线程共享访问, 那么这个变量可以使用关键字volatile进行声明; 那么如果一个变量不想使多个线程共享访问, 那么该怎么办呢? 呵呵, 这个办法就是TLS, 线程本地存储. 它的使用非常之简单, 只要对变量的声明使用__declspec(thread)就OK了. 下面我来举一个例子, 结

2007-11-18 19:37:00 2376

原创 Windows API编程之多线程

    在Windows的多线程编程中,创建线程的函数主要有CreateThread和_beginthread(及_beginthreadex)。 CreateThread 和 ExitThread     使用API函数CreateThread创建线程时,其中的线程函数原型:        DWORD WINAPI ThreadProc(LPVOID lpParameter)

2007-11-18 19:22:00 8713

原创 请教几种创建线程函数的区别

标  题: [合集] 请教几种创建线程函数的区别。 发信站: 水木社区 (Wed Oct 11 16:43:15 2006), 站内 ☆─────────────────────────────────────☆    zealotkuihua (葵花) 于  (Tue Oct  3 13:28:38 2006)  提到: 接触多线程编程有一段时间了。发现有多种创建线程的函数

2007-11-18 17:29:00 2048

原创 Windows线程函数概述 - 《C++编程艺术》

Windows提供了多组支持 多线程的应用程序接口(API)函数。许多读者已经对Windows提供的多线程函数有一定程度的了解,但是对于那些不熟悉这些的读者,本章提供了这些函 数的概述。记住,Windows提供了许多其他的基于多线程的函数,这些函数需要您自己去探索。为了使用Windows的多线程函数,必须在程序中包含。 3.4.1 线程的创建和终止Wi

2007-11-18 17:19:00 1722

原创 打开一个VC工程提示"Not all of the windows in the workspace could be opened."

打开一个工程时弹出"Not all of the windows in the workspace could be opened."如何解决?删掉ncb,opt,clw,aps   文件保存,然后重新打开。  

2007-11-18 16:45:00 1739

原创 使用PostThreadMessage在Win32线程间传递消息

PostThreadMessage的原型是这样的BOOL PostThreadMessage( DWORD idThread,    UINT Msg,    WPARAM wParam,    LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯,因为它不用等待调用者返回,这也许是线程通讯中最简单的一种方法了。但是要注意以下问题1 .PostThread

2007-11-17 17:05:00 783

原创 简述MFC程序生与死

    经常从网上下载好程序,但打开VC看了不到几行,鼠标就移到最到最右上角,对准那个“X”,咔嚓...(心还暗念:嚓死你!),二话不说在“程序”菜单里 寻找QQ的存在,开始进入休闲时光!!这可是我经常做的事情,唉!苦于基础不扎实,经常被美好的代码踢出门外。但幸好我还对她有一斯感觉,近来有幸买到侯 先生的《深入浅出MFC》,看到第六章:MFC程序的生死因果,觉得是学MFC,喔不,应该是看MFC程序

2007-11-17 00:43:00 697

原创 《深入浅出MFC》学习笔记之二

      MFC程序也是Windows程序,所以它也有一个WinMain,但是我们在程序中看不到它的踪影。实际上,在程序进入点之前,有一个(而且只有一个)全局对象(在Hello程序中名为theApp),这是所谓的application object,当操作系统将程序加载并激活时,这个全局对象获得配置,其构造函数会先执行,比WinMain更早。 书中所举Hello程序,是一个简单的MFC程序,

2007-11-17 00:40:00 642

原创 《深入浅出MFC》学习笔记之一

    龚建伟评:这篇学习笔记虽然不是系统的阐述某个问题,但读来让人感到收获不小,无论你是老鸟还是菜鸟,都会认同的。我希望XGM能够继续写下去,看了《深入浅出MFC》再来看这些笔记,也有温故知新之感俟杰先生的《深入浅出MFC》是一本好书,本人是作为有一定C++基础知识并对VC有一点感性认识的VC初学者来接触这本书的。应该说这本书并不真正适合像我这样的初学者,但通读完该书,还是有一些收获的,现只

2007-11-17 00:38:00 745

原创 MFC程序的来龙去脉

程序的诞生#Application Object产生,内存于是获得配置,初值亦设立完成。#AfxWinMain执行AfxWinInit,后者又调用AfxInitThread,把消息队列尽量加大。#AfxWinMain执行InitApplication。这是CwinApp的虚函数,但我们通常不改写它。#AfxWinMain执行InitInstance.这是CwinApp的虚函数,我们

2007-11-17 00:24:00 588

原创 一步一步学STL标准模板库

list 的使用 在使用list必须包括头文件#include , 1)、如何定义一个list对象#include int main (void){ list cList; //声明了list模板类 的一个实例}2)、使用list的成员函数push_back和push_front插入一个元素到list中cList. push_back(‘a’); //把一个对象放到一个list的后面

2007-11-16 23:00:00 483

原创 C++-模板

/***********************************************************************                                                                                                  *模板是一种参数化的类或函数,也就是类的形态或者函数的形态可

2007-11-16 22:57:00 569

原创 C/C++中函数指针的含义

http://www.pconline.com.cn/pcedu/empolder/gj/c/0503/566020.html 

2007-11-16 22:35:00 527

原创 在VC++中读写INI文件

在VC++中读写INI文件  在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:  一.将信息写入.INI文件中.  1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR l

2007-11-15 22:43:00 1157 2

原创 C++ 和 Delphi 的函数覆盖(Override)与重载(overload

C++ 和 Delphi 的函数覆盖(Override)与重载(overload) Spacesoft【暗夜狂沙】 在面向对象编程中,当子类继承了来自基类的函数后,子类有可能需要对其中的一些函数作出与基类不同处理,比如: class CHuman { public: void SayMyName()//打印出对象的姓名 { cout } }; 那么

2007-11-15 21:47:00 853 1

空空如也

空空如也

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

TA关注的人

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