自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (3)
  • 收藏
  • 关注

转载 tcp机制

1.TCP机制     TCP提供了可靠性 ,当TCP向另外一端发送数据时,它要求对端返回一个确认。如果没有收到确认,TCP就自动重传数据并等待更长的时间。在数次重传失败后,TCP才放弃,如此在尝试发送数据上所花的总时间一般为4-8分钟(依赖具体实现)。    TCP含有用于动态估算客户和服务器之间的往返时间(round-trip time,RTT)的算法 ,以便它知道等待一个确认需要多少

2011-12-12 10:56:07 3988

转载 面试中的soket编程相关(一)(如何判断连接状态断开,Linux:C/Socket多路复用select(),阻塞

<br /><br />1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要循环读取)。<br />2、阻塞模式与非阻

2011-03-21 16:53:00 4321 1

转载 Winsock五种I/O模型的性能分析

<br /><br />五种I/O模型的性能分析<br />重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。<br />采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止64个套接字,必须创建额外的工作者线程,以便等待更多的事件对象。因为操作系统同时能够处理的事件对象是有限的

2011-03-18 10:01:00 1092

转载 Winsock五种I/O模型的性能分析

<br /><br />五种I/O模型的性能分析<br />重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。<br />采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止64个套接字,必须创建额外的工作者线程,以便等待更多的事件对象。因为操作系统同时能够处理的事件对象是有限的

2011-03-18 10:01:00 867

转载 C语言中几种输出调试信息的方法

<br /><br />在调试程序时,输出调试信息是一种普遍、有效的方法。输出调试信息一般有以下五种方法:<br />方法一:直接使用屏幕打印函数printf。<br />该方法直接在需要输出调试信息的位置使用函数printf输出相应的调试信息,以及某些关键变量的值。我们通过以下求阶层的函数fact来看看该方法的调试程序过程。 #include <stdio.h><br /> int fact(int n)<br /> {<br />         int i,f=1;<br />         f

2011-03-17 14:07:00 1031

转载 关于socket 关闭的问题

<br /><br />    TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。<br />linger结构体数据结构如下:<br />struct linger<br />{<br /> <br />     int l_onoff;<br />     int l_linger;<br />};<br />有三种组合方式:<br />第一种<br />    l_onoff = 0

2011-03-09 09:55:00 2635

原创 onenote 不能使用笔工具的解决方法

<br />今天在编辑onenote时发现笔工具不能用了,在网上搜了一下,用Win+V键可以开启笔工具

2011-01-10 11:13:00 10765 1

转载 Allegro 的铺铜

<br /><br />转自:http://blog.ednchina.com/longhaihai/1914271/message.aspx<br /> <br />接着我们要为了适应不同的电压对铺铜平面进行分割<br />    我们可以使用Add->line的Anti Etch对铺铜平面进行分割<br /><br />使用Anti Etch来分割平面<br />    使用Add->line命令,并且设置Active Class为Anti Etch,线宽为20,然后在已经建立Shape的平面上,画出想

2010-12-28 14:56:00 5713

原创 python 模块安装

<br /><br />出处:http://www.cnblogs.com/xcc3/archive/2010/12/24/1915951.html<br />参考资料:http://docs.python.org/install/index.html<br />1. 先说python 搜索models 的path<br /> 1.1  可以通过如下操作看到你现在的python 的搜索路径$ python<br />Python 2.2 (#11, Oct 3 2002, 13:31:27)<br />[

2010-12-24 15:44:00 3260

转载 与大虾对话: 领悟设计模式

<br /><br />与大虾对话: 领悟设计模式<br />--Template Method / Visitor<br />[译者按] 本文根据发表在CUJ Expert Forum上的两篇文章编译而成。C/C++ User's Journal是目前最出色的C/C++语言专业杂志,特别是在C++ Report闭刊之后,CUJ的地位更加突出。CUJ Expert Forum是CUJ主办的网上技术专栏,汇集2000年10月以来C++社群中顶尖专家的技术短文,并免费公开发布,精彩纷呈,是每一个C/C++学习者

2010-12-10 20:42:00 701

转载 C++虚函数表解析(转)

<br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个

2010-12-10 16:44:00 468

转载 UML实践----用例图、顺序图、状态图、类图、包图、协作图

2009-01-20 作者:Randy Miller 来源:网络面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML的精彩之处。UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为什么UML很重要?为了回答这个问题,我们看看

2010-12-07 16:46:00 1028

转载 解说Win32的窗口子类化

<br /><br />作者:李马(home.nuc.edu.cn/~titilima)<br />下载本文的配套源代码<br /><br />也许你需要一个特殊的Edit来限制浮点数的输入,但是现有的Edit却并不能完成这项工作——因为它只能够单纯的限制大小写或者纯数字。当你在论坛上求救的时候,某个网友告诉你:“用子类化。”你也许会在看到一线曙光的同时多出了一连串的问题:何为子类化?子类化的原理是什么?如何实现子类化?下面就让我从一个简单的C++程序开始,一步步解开你的疑团吧。 <br /> 首先,我为你

2010-11-25 14:45:00 710 1

转载 子窗口与父窗口的消息关系网-2

<br /><br />下面是得自MSDN中关于Common Controls的说明,具体路径为:ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/commctls/common/common.htm#Using_Common_Control<br />可以发消息给通用控件来通知控件做某事或者向控件要某事。<br />当控件发生某事件,比如用户输入,会向父窗口发WM_NOTIFY消息。请自行查阅WM_NOT

2010-11-25 14:04:00 1423

原创 重载和虚函数的差别

<br />相同点:<br />两者都是为了实现多态。<br />不同点:<br />1、重载函数要求他们的参数表要不同,虚函数的参数表和返回值都要求相同。<br />2、重载函数在编译时就已经确定了不同,就是说编译器会根据参数表的不同给予他们不同的函数名,而重载是在程序运行时才确定的。<br />3、虚函数是为用基类指针访问子类函数设计的。而重载函数只执行指针类型的类的函数。<br />下面举个例子:<br />class A{public: void overload_print(){pri

2010-11-25 11:00:00 1093

转载 理解虚基类、虚函数与纯虚函数的概念

<br />理解虚基类、虚函数与纯虚函数的概念<br />引言<br />     一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。不过不要紧待看完本文后你就会理解了。<br />正文<br />       虚基类<br />       在说明其作用前先看一段代码<br />class A<br />{<br />public:<br />    in

2010-11-22 09:46:00 530

转载 类的构造函数调用顺序是什么?

<br /> <br />类的构造函数调用顺序是什么?<br />如果一个类有多个基类,基类的构造函数在继承类的构造函数之前被调用。基类的构造函数以被声明的顺序被调用。下面是一个例子:<br />class Y {...} <br />class X : public Y {...} <br />X one; <br /> <br />构造函数的调用顺序是下面的顺序:<br />Y(); // 基类的构造函数<br />X(); // 继承类的构造函数<br />对于多基类的情况,下面是一个例子:<br /

2010-11-22 09:36:00 1370

转载 DSP/BIOS 介绍

<br /><br />http://tech.ddvip.com/2008/08/121870641354428.html<br /> <br />德州仪器新推出的DSPC6400系列最高运行时钟可以达到1.1GHz,运算能力可以达到8800MIPS.如何充分发挥DSP的这种性能优势,对软件提出了很高的要求.首先为了降低系统成本,就要求将许多以前用硬件实现的功能软件化,原来由多个DSP完成的工作由一块DSP完成,DSP要能够同时完成多个相同或不同的任务而相互之间没有影响.其次为了产品的维护和升级,要求软件

2010-11-17 10:00:00 4172

原创 SO_REUSEADDR作用

Q: 我正在写一个unix server程序,不是daemon,经常需要在命令行上重启它,绝大多数时候工作正常,但是某些时候会报告"bind: address in use",于是重启失败。A: Andrew Gierthserver程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。至于TIME_WAIT状态,你无法避免,那是TCP协议的一部分。Q: 如何避免等待60秒之后才能重启服务A: Erik Max Francis使用setsockopt,比如

2010-11-15 17:20:00 8950

转载 TCP连接关闭过程笔记

<br />作者:fbysss<br />msn:[email protected]  <br />blog:blog.csdn.net/fbysss<br />声明:本文由fbysss原创,转载请注明出处<br />关键字:TCP协议 关闭连接<br />前言:<br />TCP协议的连接是全双工连接,一个TCP连接存在双向的读写通道。 <br />简单说来是 “先关读,后关写”,一共需要四个阶段。以客户机发起关闭连接为例:<br />1.服务器读通道关闭<br />2.客户机写通道关闭

2010-11-15 15:44:00 943

转载 TCP建立及关闭过程详解

<br />  一、TCP协议简介<br />    TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。<br />    TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。<br />    可以从以下几个方面对TCP协

2010-11-15 15:24:00 678

转载 网络socket编程指南

Beej网络socket编程指南 -------------------------------------------------------------------------------- 介绍   Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…      好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,

2010-11-15 14:13:00 551

转载 网络socket编程指南

<br />Beej网络socket编程指南 <br />-------------------------------------------------------------------------------- <br />介绍 <br />  Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…  <br />    好在我已经将这些事完成了,我将和所有人

2010-11-15 14:12:00 521

转载 网络socket编程指南

<br />Beej网络socket编程指南 <br />-------------------------------------------------------------------------------- <br />介绍 <br />  Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…  <br />    好在我已经将这些事完成了,我将和所有人

2010-11-15 14:12:00 394

转载 数字相机彩色实现及bayer插值

<br />数字相机彩色实现及bayer插值(2009-01-15 02:04:55)<br />  数码相机的出现和发展正在深刻的影响着人们的日常生活。也许将来某一天数码相机的画质会赶上并超过传统胶片相机,但数码相机的根本优势并不在此,而是和其他数字信息产品一样,在于信息的无损存储/复制/传输和后续处理。例如,数字照片和视频可以方便的通过互联网传播,而其和计算机相联接则可实现机器视觉来实现诸如导弹视频制导,交通智能管理,产品缺陷的自动检测等。<br /><br />色彩对于很多机器视觉应有并不重要,但

2010-11-15 10:26:00 4547 1

转载 虚函数例子

解释虚函数的例子(父类子类指针函数调用注意事项)父类子类指针函数调用注意事项<br />1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩)<br /><br />2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。(一般不会这么去定义)<br /><br />3,如果基础类和衍生类定义了相同名称的成员函数,那么通过对象指针调用成员函数时,到

2010-11-12 17:08:00 1741

转载 tcp打洞

<br /><br />Internet的迅速发展以及IPv4地址数量的限制使得网络地址翻译(NAT,Network AddressTrans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络称为私网,处于NAT前的网络称为公网)IP 地址。一个私网IP 地址通过NAT设备与公网的其他主机通信。公网和私网IP地址域,如下图所示:<br />广域网与私网示意图<br />一般来说都是由私网内主机(例如上图中“电脑A-01”)主动发起

2010-11-02 14:27:00 4435 2

原创 宏参数加括号的原因

<br /><br />加括号是为了处理表达式参数(即宏的参数可能是个算法表达式)时不出错,因为宏替换就是文本替换,所以如果有以下情况:<br /> <br />#define COM(A,B) (A)*(B)<br /> <br />那么COM(6+5,3)这个调用会怎么替换呢?它会换成这样:<br /> <br />(6+5)*(3)<br /> <br />显然这是和COM宏的意图一致的,但是如是去掉了定义中括号,即写成这样:<br /> <br />#define COM(A,B) A*B<br /

2010-11-01 09:54:00 1094

转载 C语言宏中"#"和"##"的用法

C语言宏中"#"和"##"的用法 在查看linux内核源码的过程中,遇到了许多宏,这里面有许多都涉及到"#"和"##",因此,在网上搜索了一些资料,整理如下:一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include #include using namespace std; #define STR(s) #s #define CONS(a,b) int(a##e##b) int main()

2010-11-01 09:41:00 525

原创 文件打开方式在windows和unix系统上的不同

<br />在windows下,文件可以以二进制或文本方式打开,但在unix系统中,没有此种区别,文件都是以二进制文件打开的。<br /> <br /> <br />如果在windows下,文件以文本方式打开(默认方式),则系统或做如下处理:<br /> <br />1、对于换行符 0x0d 0x0a 和0x0a的转换<br />2、对于文件结束符CTRLZ(0x1A)的判别<br /><br />所以,unix程序移植到windows下时,可能要注意,否则会导致不必要的字节加进去或是文件异常结束

2010-10-21 10:41:00 1556 1

转载 YUV主要的采样格式

<br />主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 4 个点需要 8x3=24 bites(如下图第一个图). 而现在仅需要 8+(8/4)+(8/4)=12bites, 平均

2010-10-11 17:23:00 631

转载 MFC中实现简单的位图显示、处理

最近在做图像采集的工作,需要处理图像数据,所以学习了一下位图显示,而且只看了设备相关位图DDB。基本上实现了位图的显示、位图数据的处理等功能。这里就记录一下我自己的理解,不一定全都对,仅供参考而已。要显示位图,需要做如下工作:CStatic* pStatic=(CStatic*)GetDlgItem(IDC_DISPLAY2);CDC* pDC=pStatic->GetDC();CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP2);BIT

2010-10-07 13:48:00 4509 1

转载 GetWindowRect和GetClientRect(转)

原文:http://blog.chinaunix.net/u/25372/showart_304363.htmlGetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。     GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。      ClientToS

2010-10-07 13:43:00 577

转载 C++中两个类交叉定义或递归定义的解决办法

<br />有两个类这样定义:<br /> <br />Subject.h 头文件如下:<br />#ifndef SUBJECT_H<br />#define SUBJECT_H<br />#include <iostream><br />#include "Observer.h"<br /> <br />class Subject<br />{<br />public:<br />       void Info(){ std::cout <<" Subject !/n"; }<br />protect

2010-09-30 15:53:00 2936

转载 Http协议的Delete和Put方法是做什么的?怎么用?

<br />一般来说,Web服务器默认的只支持Post和Get这两种“只读”的请求方法。但是随着Ajax XMLHttpRequest 和 REST风格应用的深入,我们发现Http 1.1协议还支持如下请求方法(Request Method):<br />•OPTIONS<br />•HEAD<br />•DELETE<br />•PUT<br />•TRACE<br />•CONNECT<br />Get是最常用的,就是向Web Server发请求“获取”资源;那么Post就是向Web Server“邮寄

2010-09-27 15:47:00 1408

转载 HTTP请求模型和头信息参考

<br />参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx<br />模型: http://blog.csdn.net/baggio785/archive/2006/04/13/661412.aspx<br />  <br />HTTP请求模型<br />一、连接至Web服务器<br />一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个套接字(缺省为80)。<br /><br />例如:http://w

2010-09-27 15:43:00 657

转载 HTTP请求流程(一)----流程简介

<br />      最近一直在研究如何让asp.net实现上传大文件的功能,所以都没怎么写技术类的文章了。可惜的是至今还没研究出来,惭愧~~~。不过因为这样,也了解了一下http消息请求的大致过程。我就先简单介绍下,然后再来讲如何利用Telnet来模拟Http请求。讲得不对的地方还希望大家给我指出来。因为内容比较多,所以分成两部分来写。<br />      1、流程简介<br />      2、Telnet模拟HTTP请求<br /><br />      这篇我们就来做一个简单介绍。<br /> 

2010-09-27 15:38:00 733

转载 浏览器配置脚本的编写

用本本上网时,往返家里和单位,因为单位是用的代理上网,家里是直接连接.因此每次都要修改IE的代理设置,虽然是个小事,但是每次都要修改总是有点烦,于是参考GOOGLE,写了一个自动配置代理的脚本.这样无论在家和在公司,只要连上局域网就可以上网了.function FindProxyForURL(url,host){    if((isPlainHostName(host))||shExpMatch(url,"http://127.0.0.1/*")||isInNet(host,"192.168.0.0", "

2010-09-26 16:38:00 3666

原创 OV5620的视频驱动

<br />别人做了一半,甩给我。没有什么文档,只能看官方的。发现他的程序跑不通,花了一阵修改后能跑了,但他采集的数据每行都一样,崩溃。还有一个特点是不插摄像头都能进DMA中断。折腾了半天,终于找出问题了,原来其压根没有初始化VP口,汗!<br />他的程序,PERCFG寄存器在main函数中配置,而mdBind在main执行前就和执行了,导致根本没有配置vp口。他的编程风格也导致了错误的产生,如果一开始就调用CSL库函数,就会发现他会阻塞在 VP_open中,也不能跑那么远了。

2010-09-25 16:44:00 2465 5

转载 DAT_copy 产生的问题

#include #include #include #include #pragma DATA_SECTION(external, "quickdata")char external[352*416];                              // 片外#pragma DATA_SECTION(internal, "quickdata")char internal[16 * 352];                              // 片内void main(){int i

2010-09-19 14:57:00 3194

C6000 DSP/BIOS 线程调度

清华远见培训资料,详细介绍了DSP/BIOS中的线程调度,硬件中断、软件中断、周期函数、任务之间的关系即他们彼此间的协调方式

2010-09-07

数据结构课件(C++语言描述)

数据结构课件,用C++语言描述各个数据结构

2010-06-19

深入浅出ARM7(学习arm7的必备资料)

学习arm7的必备资料,深入浅出的介绍了arm7的组成及原理

2010-06-19

空空如也

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

TA关注的人

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