- 博客(79)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux/Unix下的Curses库开发指南——第七章 表单开发及应用
7.1表单简介7.1.1表单概念UNIX中输入数据是我们最经常需要做的事情,在UNIX下定位并且进行数据输入并不是一件很容易的事情。不过curses包中提供的表单库可以大大减少我们的开发难度,表单库是从curses库发展而来,它提供了一个基本的框架结构和一些基本的功能来处理用户数据输入。通过表单我们可以进行各种输入并且可以对输入数据进行有效的校验或者规范其输入格式,在表单库中我们将输入区域
2009-12-30 09:22:00
16582
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curse库开发指南——第六章 菜单开发及应用
6.1菜单简介6.1.1菜单概念 在第三章中我们曾经使用curses窗口创建了一个简单的菜单程序,从程序中可以看到菜单实际上是一系列选项的组合,我们一次可以选中一项或者多项,也可以使用方向键进行移动。一旦用户做出了选择,应用程序将做出相应的反应,或者是弹出一个消息框,或者是弹出子菜单等等。但事实上curses包中已经为我们提供了菜单开发库,
2009-12-09 21:12:00
20131
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curses库开发指南——第五章 面板库(panel)开发及应用
第5章 面板库(panel)开发及应用5.1面板程序简介5.1.1面板概念通过前面的几章,我们知道窗口实际上终端屏幕上的一个矩形区域,在上面我们可以使用curses函数进行输入和输出。到目前为止你应该对curses库中的窗口很熟悉了,你也许已经开始准备编写一个稍具规模的curses程序了,但是你可能会遇到新的情况。通常情况下,如果是小规模的应用程序,屏幕上的窗口都是平铺的,
2009-12-02 09:19:00
18511
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curses库开发指南——第四章 鼠标支持
第4章 鼠标支持4.1鼠标支持简介终端支持鼠标操作目前是一个比较高级的话题,很少有资料涉及。另一方面支持鼠标操作的终端实际上目前非常的少,除了xterm类型的终端外,其余的终端都不支持。因此这部分大多数人可能不需要,所以本书开始不准备涉及这方面的讨论,但考虑到书籍的完整性,还是把这部分加入。(Sco Unix、Solaris等操作系
2009-11-19 16:10:00
17549
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curses库开发指南——第三章curses库窗口
第3章curses库窗口3.1 curses窗口简介3.1.1窗口概念窗口是curses库中最重要的一个组件,它实际上是屏幕上的一块矩形区域,在上面我们可以进行各种输出以及操作。curses库中提供了大量的函数以允许我们创建和操作自己的窗口,而不仅仅是只能使用标准窗口stdscr。对自定义窗口进行操作的函数一般与
2009-11-11 22:08:00
23115
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curses库开发指南——第二章 curses库I/O处理
第2章 curses库I/O处理2.1 curses库简介curses库是curses开发包中最重要的一个库,其中提供了一些基本的屏幕操作函数,包括输入/输出,屏幕初始化,屏幕处理中断以及窗口的创建和操作等操作。curses窗口在第三章我们单独讨论。curses库中提供的函数一共将近200个,在本章中我们不可能每个函数都涉及到,我们涉及到仅是最常用的一部分。剩下的一些函数可以通过
2009-10-30 09:28:00
21640
10
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 公开 《Unix/Linux下的Curses库开发指南》全书内容
《Unix/Linux下的Curses库开发指南》于2003年由清华出版社出版,合同在2008年结束。这是国内唯一的一本关于Curses库开发指南的图书。本书无意再版,因此特意公开全书内容,所有的章节会逐渐放出。希望对大家有用。
2009-10-29 09:43:00
9827
39
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unix/Linux下的Curses库开发指南——第一章 Curses库开发简介
1.1什么是curses curses实际上是一个函数开发包,专门用来进行UNIX下终端环境下的屏幕界面处理以及I/O处理。通过这些函数库,C和C++程序就可以控制终端的视频显示以及输入输出。使用curses包中的函数,用户可以非常方便的创建和操作窗口,使用菜单以及表单,而且最为重要的一点是使用curses包编写的程序将独立于各种具体的终端,这样的一个直接的好处就是程序具有良好的移植
2009-10-29 09:33:00
9527
7
原创 Apache源代码全景分析第二卷——HTTP请求处理
从第一卷的分析中,我们知道Apache中对于请求的处理实际只有两个函数:ap_read_request()和ap_process_request(),一旦通过ap_read_request()读取了HTTP连接上的某个请求之后,Apache将调用函数ap_process_request对其进行处理。在整个Apache的核心内部,大部分读者最关心的就是Apache中是如何处理客户端的请求的。由于HTTP是基于TCP的应用层的协议,而TCP则是面向连接的传输层的协议,因此通信的双方在传输数据之前必须建立起网络连
2010-09-08 09:07:00
58364
31
原创 apache内容生成器 (3)
13.10 创建自己的处理器在了解了处理器的细节之后我们就可以创建自己的处理器了。本章中我们将创建一个简单的处理器example_handler,该处理器的作用很简单,只是返回固定的报文信息。13.10.1 定义处理器在创建自己的过滤器之前,你必须首先要考虑清楚你的处理器的名称以及它在什么条件下会被调用。对于我们的示例处理器而言,处理器的名称为”example_handler”,它
2009-09-06 14:18:00
6160
3
原创 apache内容生成器 (2)
13.8 目录处理器13.8.1目录处理器概述除了普通的磁盘文件之外,还有另外一种情况就是请求被映射到目录。那么这时候服务器就必须确定如何进行响应,通常情况下有三种情况可供选择:1. 返回默认的索引页面。大部分情况下这是默认的选择。通常默认页面会取名为default.html,index.html等名称。为了实现默认的索引页面,Apache中提供了mod_dir模块,它内
2009-09-06 14:17:00
4326
原创 Apache内容生成器 (1)
在HTTP请求处理的关键步骤中 Apache对不同类型的文件的处理是不一样的。比如对于所有.html文件,通常的处理方法就是直接将该文件返回给客户端,而对于各种脚本文件比如.pl、.asp或者CGI则需要经过预处理生成html之后才能返回给客户端。不同类型的脚本的处理又由不同的应用程序处理。 为了能够对各种类型的文件方便的进行处理,Apache中引入了处理器的概念。 13.1 内容处理器概述 Ap
2009-09-06 14:04:00
7841
3
原创 《Apache源代码全景分析第1卷:体系结构与核心模块》(即将上市)
作者: 张中庆 / 梁雪平副标题: 体系结构与核心模块ISBN: 9787121084744 页数: 636定价: 88.00出版社: 电子工业出版社装帧: 平装出版年: 2009年简介 · · · · · · 本书是“Apache源代码全景分析”的第1卷。书中详细讲解了Apache的基础体系结构和核心模块的实现机制,包括配置文件、模块化结构、多任务并发,以及网络连接和请求读取,其
2009-04-23 10:48:00
4475
2
原创 Apache源代码全景分析第二卷——体系结构和核心模块 目录
目前Apache源代码全景分析第二卷——体系结构和核心模块已经算是基本完成了,只剩余少量后续工作,现在把第二卷的目录先放出来。书上市的时间估计是 明年三月中旬。 第1章 Web服务器概述.. 11.1 WWW概述.. 21.1.1 Internet概述.. 21.1.2 超文本的概念.. 31.1.3 WWW的历史.. 41.2 HTTP服务器.. 81
2008-12-30 17:31:00
9019
8
原创 CSDN英雄大会归来感悟
昨天参加了CSDN英雄大会,回来写点东西,算作是流水帐。已经很久没有写东西了。唉,真是懒啊。 在昨天的英雄大会上,最为个吸引人的并不是那些嘉宾的演讲,而是名为叽歪的网站,这是一个迷你的微型博客,类似于twitter或者腾讯的滔滔。任何人都可以把自己想说的话,一句或者两句发到博客中。这本身并没有什么特别有意思的地方,有意思的是昨天大会的现场架设了两个大屏幕,并且叽歪转为大会开辟了频道
2008-09-06 07:59:00
3748
2
原创 3.15通信专题报道之一 ---- 一个月有几天?我们的通信企业能算清这笔帐吗?移动的野蛮行径还在继续!
发表于:2008年3月8日 22时43分45秒阅读(96)评论(25)本文链接:http://user.qzone.qq.com/458733738/blog/1204987425 [顶]3.15通信专题报道之一 ---- 一个月有几天?我们的通信企业能算清这笔帐吗?
2008-04-07 21:06:00
4850
2
转载 在VC6.0下设置Unicode编译环境
VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。 使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项。 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_U
2008-03-06 16:32:00
13358
2
转载 VC6中调试状态下显示Unicode字符串
VC 默认调试时是看不见Unicode字符串的,顶多显示第一个字母,因为Unicode字符串是 unsigned short,很长一段时间我都是通过 MessageBox 来调试的,真傻,前几天发现原来是有一个选项:
2008-03-06 16:30:00
5295
转载 Apache apr中内存分配子的current_free_index成员作用
转载自monnand的blog http://blog.csdn.net/monnand/archive/2006/10/03/1320000.aspx1. 背景这个问题最初起源于tingya的blog中apache代码分析系列文章 ( http://blog.csdn.net/tingya )。当对内存池部分进行分析时,涉及到了内存分配子(allocator)的内容。内存分配子结构体中
2006-10-04 08:55:00
4800
2
原创 关于Apache内存池中current_free_index的作用的解释!
在早期的Apache源代码分析的文章中,并没有给出current_free_index的作用的详细解释。这是因为在文章后面的讨论中基本给出了一些说明。实际上,这部分的内容早就更新过,只是由于偷懒,一直不想方上来,今天看到monnand的一些问题和探索问题的精神,实在惭愧,因此避免大家走弯路,赶紧把一些内容方上来,仅供参考,希望大家继续对Apache的内容进行探索: 由于下一步需要做的事
2006-10-03 09:01:00
2417
3
原创 #和##的用法
The double-number-sign or "token-pasting" operator (##), which is sometimes called the "merging" operator, is used in both object-like and function-like macros. It permits separate tokens to be joine
2006-09-29 17:47:00
4839
原创 Apache中的配置指令概述
//本文是《Apache源代码全景分析》第二卷《体系结构和核心模块》中的第八章《配置文件管理》的草稿部分中,主要描述Apache中的指令概念,在后续的章节中我们将继续深入Apache中的配置文件的处理细节,包括Apache如何读取命令行参数,如何读取配置文件,如何执行配置文件中的指令以及如何存储指令等等。//本文可以任意转载和阅读,但是不允许出现在任何盈利性质的出版物和印刷品中,任何部分抄袭
2006-09-25 23:03:00
16255
1
转载 VC 中预处理指令与宏定义的妙用(2)
作者: 刘巍Tuesday, July 9 2002 3:15 PM在上一篇文章中,我演示了几个常用的宏定义和预处理指令,但可以说这些都是相当常规的技巧。下面要介绍的宏定义与预处理指令的用法也是ATL,MFC以及LINUX中使用得比较多的非常重要的技巧。## 连接符与# 符## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第
2006-09-01 11:34:00
3261
转载 VC中预处理指令与宏定义的妙用(1)
VC中预处理指令与宏定义的妙用(1)作者: 刘巍Monday, June 24 2002 11:28 AM刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具。使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。一个经典的例子使用预处理与宏定义最经典的例子莫过于加在一个头文件中以避免头文件被两次编译。试想这种
2006-09-01 11:33:00
2631
原创 Apache中预创建Preforking MPM 机制剖析(3)
6.3.3.5工作子进程管理子进程通常被视为工作者,其组成了HTTP服务器的核心。它们负责处理对客户端的请求的处理。尽管多任务体系结构并不负责对请求的处理,不过他仍然负责创建子进程、对其进行初始化并且将客户端请求转交给它们进行处理。子进程的所有的行为都被封状在函数child_main()中。6.3.3.5.1子进程的创建在深入到子进程工作的内部细节之前,我们有必要了解一下主服务进程是如
2006-08-28 20:28:00
5780
5
原创 Apache中预创建Preforking MPM 机制剖析(2)
6.3.3.4空闲子进程维护6.3.3.4.1概述主服务进程一方面除了必须维护平稳启动之外,另外一个最重要的职责就是对空闲子进程的数目进行管理,整个空闲管理功能在perform_idle_server_maintenance()中描述。空闲进程的整个内部是示意图可以用下面的图进行描述。6.3.3.4.2代码分析static void perform_idle_server_
2006-08-28 20:24:00
5409
4
原创 解析动态联编(下篇)
三 虚函数表VTABhttp://www.vckbase.comLE 动态联编过程跟我们猜测的大致相同。编译器在执行过程中遇到virtual关键字的时候,将自动安装动态联编需要的机制,首先为这些包含virtual函数的类(注意不是类的实例)--即使是祖先类包含虚函数而本身没有--建立一张虚拟函数表VTABLE。在这些虚拟函数表中,编译器将依次按照函数声明次序放置类的特定虚函数的地址。同时在每
2006-08-21 18:30:00
1907
1
原创 解析动态联编(上篇)
文章摘要多态性是C++最主要的特征,多态性的实现得益于C++中的动态联编技术。文章通过对动态联编的关键技术虚拟函数表进行深入的剖析,解析的动态联编的过程极其技术要领。 关键字 多态性 动态联编 VTABLE 虚函数 文章正文 一 从多态性谈动态联编的必要性在进入主题之前先介绍一下联编的概念。联编就是将模块或者函数合并在一起生成可 执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对
2006-08-21 16:13:00
2955
3
原创 静夜思
凄美的林子里,月色挤过了被枝杈撕破的天空,滴落到地上,溅起了一地鸣声。这时我便听到了你呼唤着的我的名字。 蓦然回首,却是蒹葭苍苍,白露为霜,所谓伊人,在水一方。无论我怎样揉搓红肿的眼睛,却依然看不清隔着淡淡雾障的你,你的身影飘然而去,化作了满目蝶舞。我的叹息伤了秋天的每一片树叶
2006-08-20 00:45:00
1532
原创 Apache中预创建Preforking MPM 机制剖析(1)
6.3.1 Leader/Follow模式在了解Preforking MPM之前有必要首先了解Leader/Follow模型。Preforking模型本质上也属于Leader/Follow模型。通常情况下,L/F可以用下图进行描述:通常情况下,对于服务器中的进程采用的都是即时创建的策略,即一旦有一个新的客户端请求立即创建一个新的进程或者线程,而当进程或者线程执行完毕后,进程和线程也
2006-08-09 10:10:00
9722
1
原创 Apache中多任务并发处理机制研究(1)
//转载请注明来源:http://blog.csdn.net/tingya//版权声明://本书是《Apache源代码全景分析》的草稿部分,//读者可以自由浏览和打印//未经本文允许,不得以任何形式出现在盈利印刷品中,否则将追究法律责任!!!6.1 多进程并发处理概述6.1.1 概述第五章中我们讨论Apache主程序的时候,当主程序调用了函数ap_mpm_run之后,整个主程序
2006-07-02 22:01:00
12247
10
原创 Apache中的网络地址处理
//转载请注明来源:http://blog.csdn.net/tingya//版权声明://本书是《Apache源代码全景分析》的草稿部分,//读者可以自由浏览和打印//未经本文允许,不得以任何形式出现在盈利印刷品中,否则将追究法律责任!!!9.1 套接字地址9.1.1套接字地址在了解APR中对IP地址的封装之前,我们首先看一下通常情况下对IP地址的使用情况。下面的代码掩饰了简单的服务
2006-06-10 09:57:00
5716
2
原创 谁分析过Apache中的网络read和write??
在分析的时候遇到一个选项APR_INCOMPLETE_READ和APR_INCOMPLETE_WRITE,不明白什么意思?不知道有人清楚这两个选项的含义否?
2006-05-30 16:31:00
4126
5
原创 Apache中的进程剖析(4)
//转载请注明来源:http://blog.csdn.net/tingya//版权声明://本书是《Apache源代码全景分析》的草稿部分,//读者可以自由浏览和打印//未经本文允许,不得以任何形式出现在盈利印刷品中,否则将追究法律责任!!!6.2.2 Window系统中进程创建6.2.2.1进程创建概述Window系统中创建进程毫无疑问,肯定是使用CreateProcess函数,
2006-05-18 16:18:00
3998
原创 Apache中的进程剖析(3)
//转载请注明来源:http://blog.csdn.net/tingya//版权声明://本书是《Apache源代码全景分析》的草稿部分,//读者可以自由浏览和打印//未经本文允许,不得以任何形式出现在盈利印刷品中,否则将追究法律责任!!!6.2 进程创建6.2.1 Unix系统中进程创建APR中通过apr_proc_create函数实现进程的创建,不过对于APR而言,创建进
2006-05-18 16:10:00
4189
原创 Apache中的进程剖析(2)
//转载请注明来源:http://blog.csdn.net/tingya//版权声明://本书是《Apache源代码全景分析》的草稿部分,//读者可以自由浏览和打印//未经本文允许,不得以任何形式出现在盈利印刷品中,否则将追究法律责任!!!6.1.2.2Window平台相比于Unix下的apr_procattr_t结构,Window下的该结构定义要简单一些,它定义在Unix下的进程属
2006-05-18 16:00:00
3807
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人