返回首页 我的新博客
摘要: 进程概念  进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。  在Mac、Windows NT等采用微内核结构的操作系统中,进程的功能发生了变化... 阅读全文
posted @ 2009-10-17 13:53 buffer的blogs 阅读(411) 评论(0) 推荐(0)
摘要: /*选择排序思想:每一次都从无序的数据中找出最小的元素,然后和前面已经有序的元素序列的后一个元素进行交换,这样整个源序列就会分成两部分,前面一部分是已经排好序的有序序列,后面一部分是无序的,用于选出最小的元素。循环N次之后,前面的有序序列加长到跟源序列一样长,后面的无序部分长度变为0,排序就完成了。*/unsigned long __stdcall SelectSort(void* theArra... 阅读全文
posted @ 2009-10-17 13:02 buffer的blogs 阅读(329) 评论(0) 推荐(0)
摘要: 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和... 阅读全文
posted @ 2009-10-17 10:54 buffer的blogs 阅读(220) 评论(0) 推荐(0)
摘要: 多态的形式有: 覆盖:输入参数一样,但对于不同的派生类有不同的实现, 其多态体现在运行阶段,也就是一个父类的指针可以指向不同的派生类对象,调用不同的同名函数。 重载:类的成员函数里,允许有多个不同参数的同名函数,其多态性体现一.多态多态(Polymorphism)按字面的意思就是“多种形状”。引用Charlie Calverts对多态的描述——多态性... 阅读全文
posted @ 2009-10-17 09:29 buffer的blogs 阅读(640) 评论(0) 推荐(0)
摘要: C是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数。 而C++还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、 自定义操作符、内联函数、引用、友元、模板、异常、名字空间,等等。 用C++比用C具有更宽广的空间,因为设计时有更多的选择可以考虑。 阅读全文
posted @ 2009-10-17 00:22 buffer的blogs 阅读(245) 评论(0) 推荐(0)
摘要: 1、求二个数的最大公约数:#include <iostream.h>int maxye(int a,int b){int temp;while(a%b){ temp=b; b=a%b; a=temp;}return b;}void main(){int aa,bb;cout<<"请输入第一个数:";cin>>aa;cout<<" 请输入第二个数:";... 阅读全文
posted @ 2009-10-16 23:56 buffer的blogs 阅读(879) 评论(0) 推荐(0)
摘要: 有1000瓶水,其中有一瓶有剧毒(假设哪怕一个毒药分子在里面也能致命),现在给你10只小狗在24小时内通过小狗试药的方式鉴定出来哪瓶药有毒。情况1:假设小狗服药后2小时内即可判断是否中毒,鉴别方案有哪些?情况2:假设小狗服药之后20小时才能判断是否中毒,鉴别方案又是什么? 前天水母十大的一个帖子,挺有意思的,也算是温习一下上学期学的算法吧。其实算法课上倒是讲过类似的题目,是摔瓶实验,意思差不多,用... 阅读全文
posted @ 2009-10-16 13:57 buffer的blogs 阅读(302) 评论(0) 推荐(0)
摘要: 1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartupWSADATA wsaData; err = WSAStartup(0x202,&wsaData); if ( err != 0 ){ return 0; } else if ( LOBYTE( w... 阅读全文
posted @ 2009-10-15 18:01 buffer的blogs 阅读(753) 评论(0) 推荐(0)
摘要: Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解Windows消息处理机制,肯定无法深入的理解Windows编程。可惜很多程序员对Windows消息只是略有所闻,对其使用知之甚少,更不了解其内部实现原理,本文试着一步一步向大家披露我理解的Windows消息机制。可以说,掌握了这一部分知识,就是掌握了Windows编程中的神兵利器,... 阅读全文
posted @ 2009-10-15 15:40 buffer的blogs 阅读(384) 评论(0) 推荐(0)
摘要: lib和dll lib和dll文件的区别和联系 .dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。.lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们... 阅读全文
posted @ 2009-10-15 15:39 buffer的blogs 阅读(456) 评论(0) 推荐(0)
摘要: 1)auto  这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register  这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 (3)static  常见的两种用途:    1>统计函数被调用的... 阅读全文
posted @ 2009-10-13 20:35 buffer的blogs 阅读(359) 评论(0) 推荐(1)
摘要: //search.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"LinkTable.h"#defineMAX_KEY500//------------------------------数组实现部分----------------------------------/**//*无序数组顺序... 阅读全文
posted @ 2009-10-10 13:57 buffer的blogs 阅读(520) 评论(2) 推荐(0)
摘要: 联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出! 1、什么是联合? “联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明... 阅读全文
posted @ 2009-10-08 21:18 buffer的blogs 阅读(476) 评论(0) 推荐(0)
摘要: 二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找,如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的元素,或者所查找的序列范围为空为止.用伪代码来表示, 二分查找算法大致是这个样子的:Code hig... 阅读全文
posted @ 2009-10-08 10:45 buffer的blogs 阅读(484) 评论(0) 推荐(0)
摘要: 一、下面这个程序执行后会有什么错误或者效果:#define MAX 255int main(){unsigned char A[MAX],i;//i被定义为unsigned charfor (i=0;i<=MAX;i++)A[i]=i;}解答:死循环加数组越界访问(C/C++不进行数组越界检查)MAX=255数组A的下标范围为:0..MAX-1,这是其一..其二.当i循环到255时,循环内执... 阅读全文
posted @ 2009-10-07 21:10 buffer的blogs 阅读(196) 评论(0) 推荐(0)
摘要: 一、题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};函数的声明如下:void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);分析:这是一道广为流传的Google面试题,能有效考察我们的编程基本功,还能... 阅读全文
posted @ 2009-10-07 20:05 buffer的blogs 阅读(286) 评论(0) 推荐(0)
摘要: 1、 对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。(不用考虑数值超出计算机整数界限的问题)思路:就是求N中5的个数解答:int num;//结尾0的个数num=0;while(N){num+=N/5;N/=5;}2、请实现两棵树是否相等的比较,相等返回1,否则返回其他值,并说明算法复杂度。数据结构为... 阅读全文
posted @ 2009-10-07 14:14 buffer的blogs 阅读(270) 评论(0) 推荐(0)
摘要: 全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。静态局部变量具有局... 阅读全文
posted @ 2009-10-05 13:48 buffer的blogs 阅读(529) 评论(0) 推荐(0)
摘要: 如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。通过查询资料发现,其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++类的多个实例可以共享成员函数但是确有不同的数据成员。由于this指针的作用,使得将一个CAL... 阅读全文
posted @ 2009-10-05 13:25 buffer的blogs 阅读(452) 评论(0) 推荐(0)
摘要: 结构与类很相似,都表示可以包含数据成员和函数成员的数据结构。与类不同的是,结构是值类型并且不需要堆分配。结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用(该变量称为对象)。 struct 类型适合表示如点、矩形和颜色这样的轻量对象。尽管可能将一个点表示为类,但结构在某些方案中更有效。在一些情况下,结构的成本较低。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分... 阅读全文
posted @ 2009-10-04 00:06 buffer的blogs 阅读(298) 评论(0) 推荐(0)
摘要: DLL(Dynamic Link Library),动态链接库。1.关于__declspec(dllimport)和__declspec(dllexport)在一个DLL的编写过程中,如果要使一个变量、一个函数或一个类能够被外部程序调用,在函数声明上加上__declspec(dllimport)关键字。例:引出一个变量:__declspec(dllexport) int iEx;引出一个函数:__... 阅读全文
posted @ 2009-10-04 00:05 buffer的blogs 阅读(327) 评论(0) 推荐(0)
摘要: 在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么是虚函数呢,我们先来看看微软的解释: 虚函数是指一个类中你希望重载的成员函数,当你用... 阅读全文
posted @ 2009-10-04 00:03 buffer的blogs 阅读(290) 评论(0) 推荐(0)
摘要: 什么是虚拟函数,我想如果你能马上用口头表达出来,那么你的基础不错。知道虚拟函数表吗?也许你已经看了很多书,了然于胸。其实很多时候并不需要看书,就可以体会到。然后什么是虚拟继承?也许听说过,但很少使用。其实使用虚拟继承,可以减轻你很多的痛苦。 看下面一个例子: 这里的例子尽可能的简单,关于虚拟函数。 class Father{public : Father();virtual void run... 阅读全文
posted @ 2009-10-04 00:02 buffer的blogs 阅读(399) 评论(0) 推荐(0)
摘要: 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1、不能实例化; 2、包含未... 阅读全文
posted @ 2009-09-28 10:01 buffer的blogs 阅读(349) 评论(0) 推荐(0)
摘要: 在C++的学习中,有人经常搞不清楚“常量指针”和“指针常量”这两个概念。其实简单一点讲,“常量指针”所指向的地址上的数据是常量,而“指针常量”所指向的地址是常量,地址上面的数据是可以变化的。 下面看及格简单的例子,可以说明他们的区别:第一个1voidmain(){2char*str1={"Hello"}... 阅读全文
posted @ 2009-09-28 09:49 buffer的blogs 阅读(295) 评论(0) 推荐(0)
摘要: 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。 而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。1、临界区:通过对多线程的串行化来访问公共资源或一段... 阅读全文
posted @ 2009-09-28 09:22 buffer的blogs 阅读(677) 评论(0) 推荐(0)
摘要: 大凡软件公司都有代码库,或者用VSS,或者用CVS等来管理,这是公司最基本的对代码的一个保护,但是这个代码库的修改不同的公司控制就不尽一样了。据我所知,国内部分软件公司,只要是写代码的(Dev,Architect,PM)都可以自由修改代码库的代码,最多只在产品将要发布的时候对代码库进行控制。这就不能保证代码库的代码质量了,我们知道每个公司的程序员水平都参差不齐(当然,象google、ms等公司的可... 阅读全文
posted @ 2009-09-28 08:48 buffer的blogs 阅读(226) 评论(0) 推荐(0)
摘要: 我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样... 阅读全文
posted @ 2009-09-17 21:30 buffer的blogs 阅读(328) 评论(0) 推荐(0)
摘要: 一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走... 阅读全文
posted @ 2009-09-16 16:14 buffer的blogs 阅读(299) 评论(0) 推荐(0)
摘要: nf为normal form的缩写码就是关键字,可以为组合1NF:一个table中的列是不可再分的(即列的原子性)2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以重复的)3NF:一个table中的列不依赖于另一个table中的非主键列4NF:禁止主键列和非主键列一对多关系不受约束5NF:将表分割成尽可能小的块,为了排除在表中所有的冗余目前关系数据库有六种范式:第一范式(1... 阅读全文
posted @ 2009-09-16 16:06 buffer的blogs 阅读(410) 评论(0) 推荐(0)
摘要: 曾经在报纸和杂志上多次见过讨论远程控制计算机的文章,这些文章中使用的软件大多是基于Netmeeting和pcAnywhere的,这些软件固然有它的优点,但他们完全依靠计算机,并且服务器和客户机之间必须足够快的网速。假如坐在公共汽车上去控制家里的计算机,举着笔记本和一个GPRS手机,恐怕就困难的多。有没有一个更加方便的手段去远程控制计算机呢?前几天刚申请了手机的WAP业务,是否能通过手机的WAP浏览... 阅读全文
posted @ 2009-07-28 22:52 buffer的blogs 阅读(292) 评论(0) 推荐(0)
摘要: 曾经在报纸和杂志上多次见过讨论远程控制计算机的文章,这些文章中使用的软件大多是基于Netmeeting和pcAnywhere的,这些软件固然有它的优点,但他们完全依靠计算机,并且服务器和客户机之间必须足够快的网速。假如坐在公共汽车上去控制家里的计算机,举着笔记本和一个GPRS手机,恐怕就困难的多。有没有一个更加方便的手段去远程控制计算机呢?前几天刚申请了手机的WAP业务,是否能通过手机的WAP浏览... 阅读全文
posted @ 2009-07-28 22:52 buffer的blogs 阅读(331) 评论(0) 推荐(0)
摘要: 接上面3.4,1、Tab_1对应着tab窗口中的Terminal窗口,qwtPlot对应着窗口中显示曲率线的窗口,scroll_plot对应着进度条,pb_StartPlotter对应开始按钮。2、Tab_3对应着第三个tab窗口,te_Rx对应着上面的数据显示窗口,pb_Clear对应着下面的清除按钮,cb_ShowAlways,cb_ShowData,cb_ShowMSG,cb_ShowSen... 阅读全文
posted @ 2009-07-09 10:13 buffer的blogs 阅读(524) 评论(0) 推荐(0)
摘要: 控制基站软件界面预览:(软件是德国的,语言也是德语,这又增加了读代码的难度)主界面对象总体预览:主界面分项1:1、lb_Status 是软件最下端的一个QLabel控件,用于显示系统执行状态。2、line_2是软件主界面上工具栏和下面tab窗口之间的一条分界线。3、tab_Main是下面tab窗口 QTabWidget容器。  3.1、Tab_0是下面tab窗口的最左端的窗口,Tab_1,....... 阅读全文
posted @ 2009-07-07 19:40 buffer的blogs 阅读(453) 评论(0) 推荐(0)
摘要: 在源文件中有一个main.cpp。在main函数中 实例化一个MKTool对象MKTool * mw = new MKTool();mw->show();主函数就做了这些工作,把大部分要完成的功能都放在MKTool类中了,QT的程序的主函数一般都这么简练! 阅读全文
posted @ 2009-07-07 13:47 buffer的blogs 阅读(298) 评论(0) 推荐(0)
摘要: http://topic.csdn.net/t/20030522/11/1818126.htmlhttp://www.vckbase.com/document/viewdoc/?id=701 阅读全文
posted @ 2009-07-04 22:22 buffer的blogs 阅读(1986) 评论(0) 推荐(0)
摘要: 现在出了 qt creator 2009.03版本的creator,我安装新版本的qt creator 然后配置了qwt-5.2.0的环境变量,然后编译QMK的源代码,结果通过了,并且成功运行了。 看来之前的2009.02版本确实存在问题,本身源代码是没有问题的,编译的时候提示出现很多错误,害得我好一顿修改啊。结果编译没问题了,但是总是运行不起来。卸载2009.02版本的qt creator之后,... 阅读全文
posted @ 2009-07-04 17:27 buffer的blogs 阅读(335) 评论(0) 推荐(0)
摘要: QT4.3.3版本在VS2005集成开发环境下面的安装与配置1 编译QT1)下载QT的源代码文件包(注意:必须是.zip后缀的,.exe后缀的包是用mingw做编译器的源代码文件)。2)如果是.zip后缀的源码包,将QT源代码解压到硬盘,例如:D:\Qt\4.3.3\;如果是.exe后缀的安装包,双击开始安装,(安装时需要指定mingW的路径,没有的话,应该要点击下载到本地并安装,缺少的话不知道会... 阅读全文
posted @ 2009-06-29 15:06 buffer的blogs 阅读(894) 评论(0) 推荐(0)
摘要: 一. 安装准备:1. 准备安装文件:(1):Qt 4.4.3 OpenSource for Windows下载地址: ftp://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip(2)Qt Visual Studio Integration v1.2.2 for.VS.2003.2005 英文版下载地址:http://www.fi... 阅读全文
posted @ 2009-06-29 14:37 buffer的blogs 阅读(886) 评论(0) 推荐(0)
摘要: 1. 简述 在 Windows2000/xp 下,安装 VS2005, QT 4.4.3 ;并在 VS2005上建立 QT 的集成开发环境, 利用 VS2005 开发环境开发,调试 QT 程序;2. 所需程序 VS2005 // VS2005 的安装程序; qt-win-opensource-src-4.4.3.zip // QT 4.4.3 的 Windows 源代码 qt-vsintegrat... 阅读全文
posted @ 2009-06-29 10:24 buffer的blogs 阅读(2665) 评论(1) 推荐(0)