自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于PAGE_NOACCESS

<br />The following table lists the memory-protection options provided by Windows. You must specify one of the following values when allocating or protecting a page in memory.<br />ValueMeaningPAGE_EXECUTEEnables execute access to the committed region of p

2011-04-26 00:06:00 2612

原创 关于CALL和RET

<br /><br /> <br />在实际测试时,XP/VC++6.0/CORE2中,在进行RETURN时,首先会CALLING EIP,然后才是入参的处理。<br />0040D7CD call @ILT+5(fun) (0040100a)0040D7D2 add esp,8 //此时已经完成RET,之后本句跳过入参0040D7D5 mov byte ptr [ebp-0Ch],al<br /> 

2010-11-24 00:04:00 787

原创 关于栈对齐(stack alignment)

手册上介绍:The stack pointer for a stack segment should be aligned on 16-bit (word) or 32-bit (double-word)boundaries, depending on the width of the stack segment. The D flag in the segment descriptorfor the current code segment sets the stack-segment width (re

2010-11-22 00:22:00 5995

原创 [44.018]Radio Resource Control (RRC) protocol(Release 5) ---- Scope篇

【说明:原创博文,转载或引用请注明出处】协议原文: 1 ScopeThe present document specifies the procedures used at the radio interface (Reference Point Um, see 3GPP TS 24.002) for Radio Resource (RR) mana

2010-01-31 21:47:00 2002

原创 windows ddk

 windows ddk是微软提供的驱动程序开发包,即driver development kit。window xp ddk的一个下载地址是:http://210.21.117.86/down/ocx/winxpddk.zip windows驱动程序分为两类:一类是不支持即插即用功能的NT式驱动程序,另一类是支持即插即用的WDM驱动程序。注意,windows驱动程序的入口函数为Drive

2009-07-22 00:03:00 3103

原创 关于字节对齐

用一个例子简单说明一下(V6环境):#pragma pack(8) // 8字节对齐方式typedef struct{ char s; // 自身对齐1,指定对齐8,取小值1。[0(0%1==0)-...] long l; // 自身对齐4,指定对齐8,取小值4:[4(4%4==0)-5-6-7]}sample1;

2009-07-02 15:25:00 1588 3

转载 LINUX下GDB调试

(注:本文实例在SecureCRT中得到验证,以下为全文转载:)本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。命令

2009-06-30 19:54:00 6543

原创 代码测试----不定参函数

#include #include void MyPrintf(char *format, ...){ va_list ap; va_start(ap, format); vprintf(format, ap); va_end(ap);}void Error(char *format, ...){ va_list a

2009-06-30 10:06:00 863

原创 应用层简介

1.DNS:Domain Name System,域名系统。主要目的是将主机名和邮件地址映射成IP地址,另外是将域名映射到资源记录上。DNS顶级域有两种:通用域和国家域。不区分大小写,即edu/EDU同。2.E-Mail:信封、消息头、消息体。两个子系统:用户代理:邮件阅读器程序,能够接受各种命令,用户通过这些命令可以撰写、接收和回复消息,也可以维护邮箱。消息传输代理:关注将消息从发信

2009-06-29 22:12:00 889

原创 传输层简介

传输层是整个协议层的核心所在。它的任务是在源机器和目标机器之间提供可靠的、性价比合理的数据传输功能,并且与当前使用的物理层网络完全独立。在现实世界中,传输层承担了将子网的技术、设计和各种缺陷与上层隔离的关键作用。通过一组原语就可以访问此服务(允许建立、使用和释放连接)。套接字提供了一个通用的传输层接口。 传输层向应用层提供的服务类型:面向连接的传输服务和面向无连接的传输服务,类似于网络层的

2009-06-24 23:38:00 1798

原创 Internet网络层部分协议简介

网络层向传输层提供服务,它既可以建立在虚电路基础之上,也可以建立在数据报基础之上。在这两种情形下,它的主要任务是将分组从源端传到目标端。在虚电路子网中,路由决策是在建立虚电路的时候作出的;而在数据报子网中,路由决策是针对每一个分组而作出的。在计算机网络中会用到很多的路由算法。静态的算法有最短路径路由算法和扩散算法。动态算法有距离矢量路由算法和链路状态路由算法。大多数实际的网络使用其中的某一个算

2009-06-24 23:07:00 2614

原创 路由算法

 选择路径的算法以及算法所使用的数据结构是网络层设计的最主要的内容。.路由算法(routing algorithm)负责确定一个进来的分组应该被传送到哪一条输出线路上。若是数据报,则须对每个分组重新选择路径,而对于虚电路,分组只要沿着已经建立的路径向前传递即可(此时也称为会话路由)。静态路由算法:非自适应路由算法,不会根据当前测量或者估计的流量和拓扑结构,来调整他们的路由决策,所使用的

2009-06-24 00:39:00 2230

原创 网路层设计要点

网络层关注的是如何将分组从源端沿着网络路径送达目标端。为了实现这个目标,网络层必须知道通信子网(即所有路由器构成的集合)的拓扑结构,并且在拓扑结构中选择适当的路径。同时,网络层还必须仔细的选择路由器,以避免发生某些通信线路和路由器负载过重,而其他线路和路由器空闲的情形。在设计时,需要考虑的问题有:1.存储-转发分组交换。为在子网中传递分组,路由器需要采用存储-转发分组交换机制。2.向传

2009-06-23 22:33:00 952

原创 关于数据链路层交换

几个名词(中继器、集线器、网桥、交换机、路由器、网关): 中继器:repeater,为模拟设备,用来连接两根电缆段,以延长网络距离的互联设备,属于物理层,起信号的放大和中转作用。中继器并不关心帧、分组和头,只关心电压值。集线器:Hub,是一种共享设备,类似一个多端口的中继器,也属于物理层。集线器有许多条的输入线路,他将这些输入线路连接起来。在任何一条线路上到达的帧都将被发送到所有其他的

2009-06-18 23:16:00 2500

原创 关于整型类型提升的一点说明

整型提升说明:char/bit-field/enum/unsigned char/short/unsigned short提升为int,前提是int能够存储原先这些数据,否则提升为unsigned int。如:printf("%d",sizeof(A));  // 输出4而不是1(C编译器).分析:sizeof(A)是printf函数的一个参数,是一个表达式,表达式内的数据被隐

2009-06-15 23:11:00 1169

原创 关于函数指针和typedef

例子1:测试普通的函数指针。int testfun(int m, int n){     printf("testfun:m=%d,n=%d/n",m,n);     return 0;}int main(){      int a = 8;     int b = 7;     int (*fun1)(int,int) = testfun;     fun1(a,b);     re

2009-06-14 17:44:00 707

原创 关于判断无符号数和有符号数的问题

对于跨平台开发,数据类型的转换很重要,例如char型,有的平台上为有符号的,有的平台上是无符号的。对此,《C++ Primer》明确指出了char类型表示的特殊性,即char类型具体表示的含义是unsigned还是signed由编译器说了算。下面是一个测试char类型和变量是否是unsigned的例子。参考《C专家编程》。//////////////////////////////////

2009-06-13 22:26:00 2295

原创 n++ / ++n / n+=1 / n=n+1 实际效率比较

程序员面试宝典》上说n++高过n=n+1,貌似有道理。但效率不是你我说了算,而应该由编译器说了算。测试源代码如下:int main(void){    int n = 20;    n++;    ++n;    n=n+1;    n+=1;        return 0;   }VC++6.0的汇编代码如下:9:        int n = 10;0040D781   mo

2009-06-13 18:05:00 2792

原创 关于字节序

字节序的问题涉及硬件架构,目前主要是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是little endian呢?  为方便理解,摘了INTER手册中的一张图。呵呵。  字节顺序是指占内存多于

2009-06-13 01:38:00 1969 1

原创 协议验证的两种基本模型

1.有限状态机模型有限状态机(finite state machine):每个协议机在任何时刻均处于一个特定的状态。每种状态用SRC(发送方状态/接收方状态/信道状态)标示。协议机(protocol machine):发送方或接收方。通常总是选择协议机在等待下一个事件发生的那些时刻作为协议机的状态(如wait_event过程)。可达性分析:从初始状态开始,经过一序列的转换可以到达某一些

2009-06-12 00:02:00 1094

原创 几个基本的数据链路协议

数据链路层的任务是将物理层提高的原始位流转换成可供网络层使用的帧流(反之亦然)。其中包括成帧、错误控制和流控等功能。 协议1:一个无限制的单工协议前提条件:(1)数据只能单向传输;(2)收发双方的网络层总是处于准备就绪的状态;(3)处理的时间可以被忽略;(4)假设缓存空间无穷大;(5)数据链路层之间的通信信道永远不会损坏或者丢失帧。关键代码及注释:// 发送

2009-06-11 22:51:00 3548 1

原创 错误检测和纠错简述

 数据传输过程中会不可避免的发生错误,像无线通信的错误率更高。已经研究出的两种基本的处理错误的策略是:1.每个传输的数据块中包括足够的冗余信息,以便接收方可以推断发送的数据中肯定有哪些内容。该策略使用纠错码(error-correcting code),该技术成为前向纠错(forward error correction)。一个纠错的例子是采用海明码。2.每个传输的数据块中只包含部分的冗余

2009-06-10 22:16:00 1603

原创 数据链路层设计要点

数据链路层保证数据在两台机器间进行可靠、有效的通信。需要考虑传输错误(检错、纠错等)、延迟等问题。因此,其功能可概括为:1.向网络层提供一个定义良好的服务接口;2.处理传输错误;3.调节数据流,确保慢速的接收方不会被快速的发送方淹没。对应各功能的设计要点:1.为网络层提供服务,即将数据从源机器的网络层传输到目标机器的网络层。服务又可分为三种:(1)无确认无连接的服务。目标机

2009-06-10 00:04:00 2562

原创 移动电话系统之物理层

 1.第一代移动电话:模拟语音。(1)按钮启动式通话系统。该系统只有一个信道,可用于发送和接收,因此用户必须每次按一下按钮用于打开/关闭发送/接收功能。TVB中警察用的对讲机就属于这种。- -(2)改进的移动电话系统(IMTS)。(3)高级移动电话系统(AMPS,Advanced Mobile Phone System)。基站:每个蜂窝单元的中心都有一个基站,该单元中的所有电话都向

2009-06-09 22:15:00 1448

原创 物理层简介

1.物理层的目的:将原始的比特流从一台机器传输到另一台机器。2.有多种物理介质可以用于实际的传输,各有特点。有导向的介质:(1)磁介质。带宽特性好,成本低,但延迟大。(带个U盘跑,传输时间以分或小时计算,当然了- -)(2)双绞线。3类-》5类-》6类-》7类双绞线。较常见。(3)同轴电缆。屏蔽性优于双绞线。(4)光纤。高带宽,高抗电磁干扰,细小量轻,高安全性,但易损,成本

2009-06-08 22:04:00 1367

原创 服务和协议

服务定义了一个层打算代表该层的用户执行哪些操作,并不涉及具体的实现细节。协议是一组规则,用来规定同层对等体之间所交换的分组的格式和含义。这些对等体利用协议来实现他们的服务定义。协议可以自由改变,但服务是不能改变的,因为服务是对用户可见的。类比:服务好像c++类中的对象,它定义了可以执行的操作接口,对于用户是开放的;而协议类似于操作的具体实现,对于类的用户是不可见的。

2009-05-25 22:37:00 1038

原创 简单的客户-服务器交互过程

一组服务通常由一组原语(primitive)操作来描述。如果协议栈位于操作系统中(大多数是这种情况),则这些服务原语通常是一些系统调用。这些系统调用会进入到内核模式,然后在内核模式中控制操作系统,让操作系统发送必要的分组(包,packet)。 在一个简单的面向连接的客户-服务器模型中,可以考虑的原语有:LISTEN:监听。属于阻塞操作,等待一个进入的连接。服务器执行。CONNECT

2009-05-21 23:36:00 1888

原创 面向连接和无连接的服务

面向连接的服务:connection-oriented service.如电话系统:先建立连接,然后使用连接,最后释放连接。又如:远程登录、数字化的语言、电子垃圾邮件。 面向无连接的服务:connectionless service.如邮政系统。不需要先建立连接,因为有完整的目标地址,因此可以直接被传递到目的地。又如:挂号信、数据库查询。 可靠连接:指接收方向发送方发送一条确认收到

2009-05-21 22:49:00 1698

原创 协议层次概述

为了降低网络设计的复杂性,大多数网络采用一堆互相叠加的层(layer/level)。每一层都建立在他的下层的基础之上,目的都是为其上层提供服务,而实现的具体细节则对上层隐藏。其基本思想是,一段专门的软件(或硬件)向用户提供一种服务,而将内部的状态和算法的细节隐藏起来。 一台机器中的第n层与另一台机器中的第n层进行对话,这个对话中用到的规则和约定合起来成为第n层协议。也就是说,protoco

2009-05-20 23:31:00 1668

原创 LAN/MAN/WAN/INTERNET简述

LAN:local area network.广播式LAN有总线型和环形,对应的协议有:IEEE802.3,IEEE802.5.MAN:metropolitan area network.如有线电视网络,协议有IEEE802.16.WAN:wide area network.    交换分组型WAN涉及到router(路由器)、store-and-forward(存储-转发)/pack

2009-05-20 22:53:00 5112

原创 函数参数入栈

V6反汇编代码如下:fun1:202:      int nIndex =3;0040231D C7 45 F8 03 00 00 00 mov         dword ptr [ebp-8],3203:      int nParam = 5;00402324 C7 45 F4 05 00 00 00 mov         dword ptr [ebp-0Ch],5

2008-12-20 19:37:00 1229

原创 #define new DEBUG_NEW

 在用vc时,利用AppWizard会产生如下代码: #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif对于#define new DEBUG_NEW首先看msdn的解释:Assists in finding

2008-12-17 10:19:00 11972

原创 头文件保护符和#pragma once

利用VC的AppWizard一般会生成如下代码:#if !defined(AFX_***_H__A06FACFB_DE47_4BCD_ABB3_3AE66C6D9765__INCLUDED_)#define AFX_***__A06FACFB_DE47_4BCD_ABB3_3AE66C6D9765__INCLUDED_#if _MSC_VER > 1000#pragma

2008-12-17 09:21:00 2287

原创 PHP基本语法

1.       从HTML中分离 当PHP解析一个文件时会寻找开始和结束标记,标记告诉PHP开始和停止解释其中的代码,凡是在标记之外的内容都会被PHP解析器忽略。大多数情况PHP都是嵌入在HTML文档中,如下所示。This is going to be ignored.This is also be ignored.再如:if ($expression) { 

2008-10-08 19:38:00 1102

原创 PHP简介

一 简介 1. PHP是什么? PHP:Hypertext Preprocessor,超文本预处理器的缩写,是一种被广泛应用的开放源代码的多用途脚本语言,他可嵌入到HTML中,尤其适合WEB开发。如例:例子 1-1. 一个介绍性的范例            Example                        echo "Hi, Im a PH

2008-10-06 18:53:00 2160 1

转载 【codeguru】消息映射

 这个部分列出了所有的消息映射宏和所有的CWnd消息映射条目及其对应的成员函数原型。分类 描述 WM_COMMAND消息处理函数 处理用户菜单选择或菜单键产生的WM_COMMAND消息 子窗口通知消息处理函数 处理子窗口发出的通知消息 WM_消息处理函数 处理WM_消息,如WM_PAINT 用户自定义消息处理函数 处理用户自定

2008-09-24 20:58:00 687

转载 【codeguru】消息映射宏

 为了支持消息映射,MFC提供了下列宏:消息映射的声明和分界宏 DECLARE_MESSAGE_MAP 声明将在一个类中使用消息映射,把消息映射到函数(必须用在类声明中) BEGIN_MESSAGE_MAP 开始消息映射的定义(必须用在类实现中) END_MESSAGE_MAP 结束消息映射的定义(必须用在类实现中) 消息映射宏 ON_C

2008-09-24 20:43:00 1113

转载 【Z一贴】C++ String: How to convert a string into a numeric type?

C++ String: How to convert a string into a numeric type? Q: How to convert a string into a numeric type?A: There is one thing that you are not allowed to ignore when you convert a string into a

2008-09-24 19:49:00 799

转载 【Z一贴】Visual C++ Debugging: How to display UNICODE strings in Watch/QuickWatch window?

Visual C++ Debugging: How to display UNICODE strings in Watch/QuickWatch window? Q: I set a breakpoint in my source code to see the value of a string variable:But in QuickWatch and Watch windows

2008-09-24 19:13:00 1013

转载 【Z一贴】DLL详解

DLL文件(Dynamic Linkable Library 即动态链接库文件),是一种不能单独运行的文件,它允许程序共享执行特殊任务所必需的代码和其他资源 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE

2008-09-23 20:33:00 801

TD-SCDMA系统标准(李世鹤).pdf

TD-SCDMA第三代移动通信系统标准,大唐移动通信设备有限公司李世鹤主编

2009-07-18

Windows环境下32位汇编语言.chm

在Windows环境下学习32位汇编语言的好资料。

2009-07-10

空空如也

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

TA关注的人

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