自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sense的专栏

思想有多远,就能走多远

  • 博客(11)
  • 收藏
  • 关注

原创 Windows, VxWorks下telnet的实现(2)

为了更好地说明问题,这里给出telnet的原理图:如图,telnet的机制可以描述为:客户端远程登录到主机,并与主机的shell进行交互,得到主机的服务的协议过程。我将这个过程分为5部分:1)远程设备;2)选项协商;3)传输链路;4)虚拟终端;5)Shell的I/O重定向;下面分别说明:1)远程设备。也就是客户端的tty,如前章节所说,客户端相当于主机的一个tt

2007-02-11 02:01:00 2818

原创 Windows,VxWorks下telnet的实现(1)

有幸在Windows,VxWorks下分别实现了telnet,不同的是在VxWorks下实现的telnet并非基于TCP/IP,而是基于一种UART(485)协议。首先有两个概念要说清:tty和pty。tty指输入/输出设备,一般将它理解为对应的标准输入(键盘等)以及标准输出(屏幕等)设备,可以理解为直接对应相关的硬件,它与硬件之间是透明的。pty是指虚拟终端。它是这样的一种抽象终端:它所连接

2007-02-04 22:45:00 5865 1

原创 修复Windows任务栏

最近发现任务栏莫名的乱,出现2个相同的图标状态,很不爽。要完全解决除非重装系统。。。。但,好像会很痛苦,所以使用下面的方法暂时解决先:@echo offreg delete "HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/explorer/StuckRects2" /freg delete "HKEY_CURRENT_U

2007-01-29 23:00:00 1114

原创 Boost 正则表达式库regex使用手记

       拿到Boost库首先是如何将该库安装到现有的工作环境,并进行学习、开发应用。由于Boost库不同于一般的软件安装方法,它提供的是C++源码以及库(Lib)。安装的目的就是将这些库和源码与你的工作环境关联起来。我想除了代码的释放和拷贝以外还有编译出Lib,放到环境的库文件夹下,是否注册就要看与之相关的Makefile。    粗略看了一下相关的Doc,里面介绍了如何编译和安装该库。

2006-11-28 21:33:00 1492

翻译 Win32 Hooks

 译文Win32 钩子机制在微软的Windows操作系统中,钩子(hook)是一种机制。该机制提供某个函数使各种事件(消息,鼠标动作,击键)到达应用程序之前被截获。在某些情况下,该机制提供的函数能够作用于各种事件,包括修改或丢弃它们。接收各种事件的函数称为过滤函数,它们依据截获的事件分类。例如,某一过滤函数可能只接收所有的键盘和鼠标事件。如果Windows要调用一个过滤函数, 该函数必

2006-11-05 20:16:00 1380

原创 CEdit按键处理

           CEdit按键处理的消息相应主要函数:      1)OnKeyDown,消息为:WM_KEYDOWN。该函数处理按键的“Press”事件,事件产生后消息流到CEdit中,则使用OnKeyDown函数进行处理。所以处理代码在OnKeyDown的重载函数中实现。如:void OnKeyDown(int nChar, int nReptCnt, int nFlags)

2006-11-05 10:26:00 1953

原创 C/C++进阶[5]

一个很有趣的应用关键字:迭代问题、一维数组范围比如有一个结构,它是这样定义的:typedef struct MyStuc{int nID;char *pszText;} MyStuc;那么MyStuc的一个实例可以是:MyStuc  mt[] = {{0, "Text 1"},{1, "Text 2"},{2, "Text 3"}};这样的话

2006-06-20 01:17:00 685

原创 C/C++进阶[4]

Point   6   位运算      我们都很清楚,位运算涉及到数据的二进制表示,以及数据的大小或者说长度。在进行位移操作的时候我们不得不关注变量的长度,因为一般的位移操作(>>或      int    x = 1;     x >>= 1; x = ?结果x = 0。其它的考虑下面的例子:typedef   unsigned int    FIND_T;#defin

2006-03-05 11:36:00 802

原创 C/C++进阶[3]

Point   4   通用指针void *      显然您知道void *是指向任何对象的通用指针。这一点给我们带来很大的方便。考虑下面的例子:typedef   struct      CLISTLINK{       void *pvData;       struct      CLISTLINK*      pre;       struct      CLISTL

2006-03-05 11:30:00 811

原创 C/C++进阶[2]

Point 2     typedef与define     从上小点讨论认为define为标识符代换使用。下面的例子您肯定很清楚:           #define SQU(x)      ((x)*(x))           //定义((x)*(x))为SQU(x),编译器遇到SQU(x)后自动替换为((x)*(x))。      typedef针对类型的重命名而言的。看下例:

2006-03-05 11:23:00 759

原创 C/C++进阶[1]

C/C++进阶Point 1 预处理程序与宏      我们都很清楚,宏的作用是给标识符或常量定义另外的名字(代号)。而预处理宏呢?看下面的例子:             //------------------file.h-----------------             #ifndef    _CLIST_H_#define   _CLIST_H_//bod

2006-03-05 11:17:00 1108

空空如也

空空如也

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

TA关注的人

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