摘要: 1.背景本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip 阅读全文
posted @ 2012-04-27 10:41 shiney 阅读(909) 评论(0) 推荐(0) 编辑
摘要: 八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上(斜率为1),问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。解决思想: 定义一个全局的8*8数组board[8][8]。因为任意两个皇后不能处于同一行同一列或同一斜线上,因此每一行只能有一个皇后。 写一个判断当前所摆放的皇后是否与前面各行的皇后存在攻击的函.. 阅读全文
posted @ 2012-04-20 10:09 shiney 阅读(712) 评论(1) 推荐(1) 编辑
摘要: 1.显示位图步骤:(1)创建位图: 两种方法1.加载已有位图;2.CreateCompatibleBitmap (2)创建兼容DC (3)将位图选入兼容DC (4)将兼容DC中的位图复制到当前DC中void CMy0406View::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); CDC dcCompatible... 阅读全文
posted @ 2012-04-06 10:09 shiney 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1.基本概念 Windows提供了一个称为图形设备接口(Graphics Device Interface,GDI)的抽象接口。 GDI 作为Windows的重要组成部分,负责管理用户绘图操作时功能的转换。用户通过调用GDI 函数与设备打交道,GDI 通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性(显示器或打印机)。 应用程序的输出面向设备环境(Device Context,DC),是一个虚拟逻辑设备,也称设备描述表或设备上下文。设备环境DC 是由GDI 创建,用来代表设备连接的数据结构。windows是多任务操作系统,因此,程... 阅读全文
posted @ 2012-03-31 17:23 shiney 阅读(1036) 评论(0) 推荐(1) 编辑
摘要: 《C和指针》第12章-使用结构和指针 针对插入到一个有序的单链表的小程序所做的调试: 原理都是保存一个指向链表当前节点之前的那个节点的指针。第一次:函数的参数是指向节点的指针 问题:当插入到链表的起始位置时,需要修改根指针,但此时函数中的根指针只是原指针的一份拷贝,无法修改。可以通过将根指针声明为全局变量来修改它,但这样一来,这个函数只对这个链表起作用。第二次:函数的参数是指向节点的指针的指针 优点:将指向链表当前节点之前的节点指针初始化为NULL, 通过判断该指针是否为NULL来完善插入到链表起始位置的代码,这次程序可以修改指向起始节点的指针。 问题:必须将插入到链表起始位置作为一种特殊情况 阅读全文
posted @ 2012-03-13 11:08 shiney 阅读(997) 评论(2) 推荐(1) 编辑
摘要: 如果在一个不算高也不算矮的山坡顶上,有一栋很大很大的房子,不是高楼也不是别墅,房间很多也很大,房子周围有几棵果树,到了秋天会结出又大又甜的果子,再有几块小地,种着小白菜小辣椒,山下不远就是一片小镇,各种吃的玩的应有尽有,到了晚上从山上看下去,家家户户都点着灯,十分璀璨。 房子里住着同福客栈的佟掌柜、白展堂、郭芙蓉、吕秀才一干人,爱情公寓的胡一菲、曾小贤、吕子乔一伙,当然还有王动、郭大路、燕七一帮人... 阅读全文
posted @ 2012-01-14 22:59 shiney 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1.bmp基本概念 (1)色位 色位即色彩位数,指每个像素点上颜色的数据位数(bit),有色彩深度、色彩精度等等多种称法,以24位为例,表示R.G.B每原色用8位二进制数据表示,最多可表达256级浓淡,从而可以再现256x256x256=16777216种颜色。色彩数越多,图像就越生动艳丽。 (2)图片大小 位图图片大小和像素有关。像素:图片上的1个点就是1个像素。 (3)分辨率 分辨率通常是指1英寸长度上的像素(点)数,表示一张图片上像素之间排列的疏密程度。2.MFC工具栏控件 创建工具栏步骤: (1)在Resource View中插入新toolbar (2)在toolbar上双击增加... 阅读全文
posted @ 2012-01-03 17:42 shiney 阅读(5209) 评论(2) 推荐(1) 编辑
摘要: 大约几年以前,我有一个愚蠢的习惯,每到重要的日子,例如过年,元旦之类象征新起点的时间,就会看得特别重要,一定要沐浴更衣,整理房间书桌,制定新年计划,发一发誓什么的。可能是慢慢发觉到这样的做法并没有使我的生活学习状况发生本质的改变,这个习惯就被丢弃了。过年对于我来说,就变成了普普通通的一天。懒得去做规划,因为知道没有用。 不再执着于形式上的起点,其实是一件好事吧。我知道了,如果我不想学习,那么即使等到了那个该学习的时间或者场合,我仍然不会学习。我想改变,想做点什么事情,却总是寄希望于未来某个不太忙碌的时间,可是这样一天永远不会来到。 改变不是一蹴而就的,而是融于一点一滴的时间和事件的积累... 阅读全文
posted @ 2012-01-01 00:15 shiney 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1.循环队列#include<stdio.h>#define MAXSIZE 10#define TRUE 1#define FALSE 0typedef struct{ int data[MAXSIZE]; int front; int rear;}SqQueue;int InitQueue(SqQueue *Q);int QueueLength(SqQueue *Q);int EnQueue(SqQueue *Q,int m);int DeQueue(SqQueue *Q,int *e);int main(){ SqQueue queue; int t; ... 阅读全文
posted @ 2011-12-22 10:52 shiney 阅读(305) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<stdlib.h>#include<string.h>#define TRUE 1#define FALSE 0typedef struct LinkNODE{ int data; LinkNODE *next;}LinkNode,*LinkStackPtr;typedef struct LinkNODE1{ char data; LinkNODE1 *next;}LinkNode1,*LinkStackPtr1;typedef struct{ LinkStackPtr top; int count;}Li 阅读全文
posted @ 2011-12-21 22:04 shiney 阅读(1656) 评论(0) 推荐(0) 编辑