自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nuptxiaoli

走走停停

  • 博客(34)
  • 资源 (14)
  • 收藏
  • 关注

原创 数据结构之链表

linkList.h#ifndef _LINK_LIST_#define _LINK_LIST_typedef void LinkList;typedef struct _tag_LinkListNode{ struct _tag_LinkListNode *next;}LinkListNode;LinkList *LinkList_Create();void Li

2016-09-30 10:47:52 230

原创 数据结构之线性表

seqlist.h#ifndef _SEQ_LIST_H#define _SEQ_LIST_Htypedef void SeqList;typedef void SeqNode;SeqList * SeqList_Create(int capacity);void SeqList_Destory(SeqList *list);int SeqList_Insert(Seq

2016-09-29 14:58:04 286

原创 const 详解

const在函数前与函数后的区别    一   const基础      如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:      int     b   =   500;      const   int*   a   =   &b;                [1]      int     const   *a   =   &b;

2016-09-28 11:22:09 351

原创 普通引用和const引用的初始化

普通引用和const引用的初始化    当引用的初始式是一个左值(是一个对象,你可以取得他的地址)时,其初始化就是非常简单的事情。普通T&的初始式必须是一个T类型的。     而cosnt T&则不必是一个左值,甚至可以不是T类型的。在这样的情况下,经过以下几个步骤。    (1)首先,如果需要的话,将应用到类型T的隐式类型转换。    (2)而后,将结果存入一个类型T的临时变量。

2016-09-28 10:16:13 618

原创 const对象默认为文件的局部变量

const 定义的对象为一个常量不能被修改。这个想必大家都知道。这里只是介绍const对象默认为文件的局部变量        当一个非const变量在一个c或cpp文件中为全局时,它在整个程序中都可以访问。我们在其他的c或cpp文件要用到这个变量,只需要在文件做合适的声明就能使用。例如:main.cpp 中全局变量bufsize#include using namespa

2016-09-27 16:07:55 394

原创 头文件

头文件用于声明而不是用于定义extern int val = 10;double fica_rate;

2016-09-27 14:57:14 259

原创 Effective C++ 条款10: 令operator= 返回一个reference to *this

拷贝操作符AdvString operator= (AdvString &str)#define _CRT_SECURE_NO_WARNINGS#include using namespace std;class AdvString{public: AdvString() { len = 128; m_p = new char[len]; strcpy(m

2016-09-27 11:39:37 367

原创 android 用户注册界面

使用TableLayout textView eidtText Button等控件

2016-09-23 23:16:38 795

原创 Android ListView

item.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heigh

2016-09-23 14:03:25 207

转载 JAVA泛型详解

http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html普通泛型Java代码 class Point{       // 此处可以随便写标识符号,T是type的简称      private T var ; // var的类型由T指定,即:由外部指定      public

2016-09-23 10:47:52 266

原创 ubuntn14.04--hadoop环境配置

修改conf目录下的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xmlhadoop-env.sh export JAVA_HOME=/usr/local/jdkcore-site.xml        fs.default.name      hdfs://lili:9000

2016-09-21 23:23:05 352

转载 《Hadoop基础教程》之初识Hadoop

Hadoop历史        雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。        随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是google File System,google公司为了存储海量搜索数据而设计的专用文件系

2016-09-19 10:01:52 297

转载 虚拟机设置中的各种网络连接方式详解

虚拟机的作用是在现有操作系统下,允许安装更多的操作系统,相互之间物理隔离,组成网络,可以更大的发挥计算机的性能。VirtualBox作为一款免费的虚拟机,非常好用。与之类似的,还有VMWare,这也是一款非常非常好用的虚拟机,操作也非常类似。我们依次为例,讲述VBox下的各种网络连接方式。为什么要讲这个哪?因为在教学中,发现很多学员对网络知识比较缺乏,对各种网络连接方式哪,知之甚少。现在总

2016-09-18 22:12:37 506

转载 RDBMS

RDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统,常用的数据库软件有Oracle、SQL Server等。

2016-09-18 10:22:21 4686

原创 Android布局管理之TableLayout

表格布局      表格布局与常见的表格类似,它以行、列的形式来管理放入其中的UI组件。表格布局使用TableLayout>标记定义,在表格布局中,可以添加多个TableRow>标记,每个TableRow>标记占用一行,由于TableRow>标记也是容器,所以在该标记中还可添加其他组件,在TableRow>标记中,每添加一个组件,表格就会增加一列。在表格布局中,列可以被隐藏,也可以被设置为

2016-09-17 22:24:01 421

原创 事务处理

事务的概述     事务包含4种重要的属性,被统称为ACID(原子性、一致性、隔离性和持久性),一个事务必须通过ACID。(1)原子性(Atomic):事务是一个整体的工作单元,事务对数据库所做的操作要么全部执行,要么全部取消。如果某条语句执行失败,则所有语句全部回滚。(2)一致性(ConDemoltent):事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所

2016-09-15 20:37:50 284

转载 C++虚函数表剖析

转载: http://blog.csdn.net/lihao21一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表每个包含了虚函数的类都包含一个虚表。 我们知道,当一个类(A)继承另一个类(B)时,类A会继承类B的函数的调用权。所以如果一个基类包含了虚函数,那么其继承类也

2016-09-14 11:59:32 256

原创 LIB和DLL的区别与使用

#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;typedef int(*CltSocketInit)(void **);typedef int(*CltSocketSend)(void *handle /*in*/, unsigned char *buf /*in*/,

2016-09-14 10:10:38 300

原创 类模板语法基础

#include #include using namespace std;//类模板的创建//类中的属性,类型参数化//我们把数据类型,进一步 抽象化。。。//抽象化的数据类型,不能直接使用。。template class A{public: T getT() { return t; } void setT(T t) { this->t = t; }

2016-09-13 16:10:56 303

原创 函数指针

回调函数writtenby王保明1、函数类型基础函数三要素:名称、参数、返回值C语言中的函数有自己特定的类型C语言中通过typedef为函数类型重命名typedef type name(parameter list)typedef int f(int, int);typedef void p(int);

2016-09-13 15:21:10 630

转载 Ubuntu 14.04常用软件及其安装

Ubuntu作为一个大部分人都不会用到的操作系统,对我来说也不是必需的,但我却常常不定期去鼓捣下新版本的Ubutnu,目前电脑上还安装了Windows和Ubuntu的双系统。作为一种消遣和体验,学起来当然不会那么卖力,所以至今对Ubuntu的一些基本命令和操作都不是很熟悉,每次重装后都要一遍一遍的在网上查找各种软件及其安装方法,几年零散的经验下来,也是该总结下到目前为止个人感觉还不错的几款软件,万

2016-09-13 13:51:53 1538

原创 函数模板

#include #include using namespace std;//函数模板template int compare(const T&t1, const T&t2){ if (t1 > t2) return 1; if (t1 < t2)return -1; return 0;}class Stu{};int main(){ string s1 =

2016-09-13 11:25:34 278

原创 ORA-12560: TNS: 协议适配器错误

监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板, 启动OracleOraDb11g_home1TNSListener服务。

2016-09-12 23:04:44 204

原创 printf中的buffer

#include #include int main(void){ char str[10]; scanf("%s", str); //接收标准输入上的数据 printf("%s", str); // stdin-标准输入 stdout标准输出 stderr标准出错 while (1) { printf("%s", str); usleep(1000); }

2016-09-10 10:45:17 1827

原创 Ubuntu 14.04 文件服务器--samba的安装和配置

1.sudoapt-get install samba samba-common2.sudogedit /etc/samba/smb.conf3.修改配置文件smb.conf[myshare] comment = my share directory path = ~ browseable = yes writable = yes4.sudosm

2016-09-10 08:35:19 266

转载 ASCII码详解

ASCII码表ASCII码大致可以分作三部分組成。第一部分是:ASCII非打印控制字符;第二部分是:ASCII打印字符;第三部分是:扩展ASCII打印字符。第一部分:ASCII非打印控制字符表ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。(参详ASCII码表中0-31)第二部

2016-09-10 08:23:04 2785

原创 组合模式

package com.samsung.demo;import java.util.*;import org.junit.Test;abstract class iFile { int add(iFile i) { return 0; } int remove(iFile i) { return 0; } protected String name; publi

2016-09-09 15:00:30 177

原创 Android中RelativeLayout详解

android:layout_above="@id/xxx"  --将控件置于给定ID控件之上android:layout_below="@id/xxx"  --将控件置于给定ID控件之下android:layout_toLeftOf="@id/xxx"  --将控件的右边缘和给定ID控件的左边缘对齐android:layout_toRightOf="@id/xxx"  --将控件的左

2016-09-06 18:09:23 535

原创 使用XML和java代码混合控制UI界面

在XML中放比较固定的组件,在java代码中放变化比较多的复杂的组件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll" android:layout_width="fill_parent" android:layout_height

2016-09-04 19:44:31 594

原创 Oracle 11g服务器结构

系统全局区(SGA)      系统全局区(SystemGlobalArea)是所有用户进程共享的一块内存区域,也就是说,SGA中的数据资源可以被多个用户进程共同使用。SGA主要由高速数据缓冲区、共享池、重做日志缓存区、java池和大型池等内存结构组成。SGA随着数据库实例的启动而加载到内存中,当数据库实例关闭时,SGA区域也就消失了。程序全局区(PGA)

2016-09-03 20:48:16 360

原创 ORACLE 数据存储结构之物理存储结构

数据文件     数据文件是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文件,一个数据文件只能隶属于一个表空间。控制文件      控制文件是一个二进制文件,它记录了数据库的物理结

2016-09-03 17:28:10 804

原创 ORACLE 数据存储结构之逻辑存储结构

数据块(Data Blocks)数据块是Oracle逻辑存储结构中的最小的逻辑单位,也是执行数据库输入输出操作的最小存储单位。Oracle数据存放在“Oracle数据块”中,而不是“操作系统块”中。通常Oracle数据块是操作系统块的整数倍,如果操作系统快的大小为2048B,并且Oracle数据块的大小为8192B,则表示Oracle数据块由4个操作系统块构成。Oracle数据块有

2016-09-03 17:06:26 1501

原创 ORACLE 11g体系结构概述

在Oracle数据库管理系统中有3个重要的概念需要理解,那就是实例(Instance)、数据库(Database)和数据库服务器(DatabaseServer)。其中,实例是指一组Oracle后台进程以及在服务器中分配的共享内存区域;数据库是由基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理文件集合;数据库服务器是指管理数据库的各种软件工具(比如,sqlplus、OEM等

2016-09-03 16:38:23 1170

原创 Oracle SQL Developer unable to find Java Virtual Machine

The Oracle SQL developer is NOT supported on 64 bits JDK. To solve it, install a 32 bits / x86 JDK and update your SQL developer config file, so that it points to the 32 bits JDK.Edit the “sqldevelo

2016-09-02 22:39:29 481

nginx-1.16.1.tar.gz openssl-1.1.0g.tar.gz pcre-8.41.tar.gz zlib-1.2.11.tar.gz

nginx 安装包

2021-06-25

jdk 1.8 API

jdk api 1.8 中文版

2017-03-18

libjingle学习笔记

libjingle中的重要概念 关于libjingle你应当理解下面的重要概念: Signals Threads and Messages Naming Conventions SSL Support Connections Transports, Channels, and Connections Candidates Data Packets

2017-01-03

MySQL5中文参考手册

MySQL5中文参考手册

2016-11-02

servlet及其source的jar

servlet及其source的jar

2016-10-30

Ubuntu搜狗输入法安装程序

Ubuntu搜狗输入法安装程序

2016-10-29

RPM for Oracle11g

unixODBC-devel-2.2.14-12.el6_3.i686.rpm gcc-c++-4.4.5-6.el6.i686.rpm libaio-devel-0.3.107-10.el6.i686.rpm libstdc++-4.4.5-6.el6.i686.rpm

2016-10-05

w3cschool全面教程

w3cschool全面教程: 领先的 Web 技术教程:HTML

2015-10-22

mysql-connector-java-5.0.8-bin.jar

mysql-connector-java-5.0.8-bin.jar

2015-10-12

Java编程思想第四版完整中文高清版

第1章 对象导论 1.1 抽象过程 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.5 复用具体实现 1.6 继承 1.6.1 “是一个”(is-a)与“像是一个”(is-like-a)关系 1.7 伴随多态的可互换对象 1.8 单根继承结构 1.9 容器 1.9.1 参数化类型(范型) 1.10 对象的创建和生命期 1.11 异常处理:处理错误 1.12 并发编程 1.13 Java与Internet 1.13.1 Web是什么 1.13.2客户端编程 1.13.3 服务器端编程 1.22 总结 第2章 一切都是对象 2.1 用引用操纵对象 2.2 必须由你创建所有对象 2.2.1 存储到什么地方 2.2.2 特例:基本类型 2.2.3 Java中的数组 2.3 永远不需要销毁对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 创建新的数据类型:类 2.4.1 域和方法 2.4.2 基本成员默认值 2.5 方法、参数和返回值 2.5.1 参数列表 2.6 构建一个Java程序 2.6.1 名字可见性 2.6.2 运用其他构件 2.6.3 static 关键字 2.7 你的第一个Java程序 编译和运行 2.8 注释和嵌入式文档 2.8.1 注释文档 2.8.2 语法 2.8.3 嵌入式HTML 2.8.4 一些标签示例 2.8.5 文档示例 2.9 编码风格 2.10 总结 2.11 练习 第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 算术操作符 3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 3.9.1 指数记数法 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符 if-else 3.13 字符串操作符 + 和 += 3.14 使用操作符时常犯的错误 3.15 类型转换操作符 3.15.1 截尾和舍入 3.15.2提升 3.16 Java没有“sizeof” 3.17 操作符小结 3.18 总结 第4章 控制执行流程 4.1 true和false 4.2 if-else 4.3 迭代 4.3.1 do-while 4.3.2 for 4.3.3 逗号操作符 4.4 Foreach语法 4.5 return 4.6 break和 continue 4.7 臭名昭著的“goto” 4.8 switch 4.9 总结 第5章 初始化与清理 5.1 用构造器确保初始化 5.2 方法重载 5.2.1 区分重载方法 5.2.2 涉及基本类型的重载 5.2.3 以返回值区分重载方法 5.3 缺省构造器 5.4 this关键字 5.4.1 在构造器中调用构造器 5.4.2 static的含义 5.5 清理:终结处理和垃圾回收 5.5.1 finalize()的用途何在 5.5.2 你必须实施清理 5.5.3 终结条件 5.5.4 垃圾回收器如何工作 5.6 成员初始化 5.6.1 指定初始化 5.7 构造器初始化 5.7.1 初始化顺序 5.7.2. 静态数据的初始化 5.7.3. 显式的静态初始化 5.7.4. 非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第14章 类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面

2015-06-03

Python基础教程(第2版)

Python基础教程(第2版) 中文版文档

2015-05-10

Linux命令大全

Linux命令大全 包含所有的linux 命令

2015-05-03

UNIX环境高级编程(第二版中文)

UNIX环境高级编程 第1章 UNIX基础知识 1 1.1 引言 1 1.2 UNIX体系结构 1 1.3 登录 1 1.4 文件和目录 3 1.5 输入和输出 6 1.6 程序和进程 8 1.7 出错处理 10 1.8 用户标识 12 1.9 信号 14 1.10 时间值 15 1.11 系统调用和库函数 16 1.12 小结 17 习题 18 第2章 UNIX标准化及实现 19 2.1 引言 19 2.2 UNIX标准化 19 2.2.1 ISO C 19 2.2.2 IEEE POSIX 20 2.2.3 Single UNIX Specification 25 2.2.4 FIPS 26 2.3 UNIX系统实现 26 2.3.1 SVR4 26 2.3.2 4.4BSD 27 2.3.3 FreeBSD 27 2.3.4 Linux 27 2.3.5 Mac OS X 28 2.3.6 Solaris 28 2.3.7 其他UNIX系统 28 2.4 标准和实现的关系 28 2.5 限制 29 2.5.1 ISO C限制 29 2.5.2 POSIX限制 30 2.5.3 XSI限制 32 2.5.4 sysconf、pathconf和fpathconf函数 32 2.5.5 不确定的运行时限制 38 2.6 选项 42 2.7 功能测试宏 44 2.8 基本系统数据类型 45 2.9 标准之间的冲突 45 2.10 小结 46 习题 46 第3章 文件I/O 47 3.1 引言 47 3.2 文件描述符 47 3.3 open函数 48 3.4 creat函数 49 3.5 close函数 50 3.6 lseek函数 50 3.7 read函数 53 3.8 write函数 54 3.9 I/O的效率 54 3.10 文件共享 56 3.11 原子操作 59 3.12 dup和dup2函数 60 3.13 sync、fsync和fdatasync函数 61 3.14 fcntl函数 62 3.15 ioctl函数 66 3.16 /dev/fd 67 3.17 小结 68 习题 68 第4章 文件和目录 71 4.1 引言 71 4.2 stat、fstat和lstat函数 71 4.3 文件类型 72 4.4 设置用户ID和设置组ID 74 4.5 文件访问权限 75 4.6 新文件和目录的所有权 77 4.7 access函数 77 4.8 umask函数 79 4.9 chmod和fchmod函数 81 4.10 粘住位 83 4.11 chown、fchown和lchown函数 84 4.12 文件长度 85 4.13 文件截短 86 4.14 文件系统 86 4.15 link、unlink、remove和rename函数 89 4.16 符号链接 91 4.17 symlink和readlink函数 94 4.18 文件的时间 94 4.19 utime函数 95 4.20 mkdir和rmdir函数 97 4.21 读目录 98 4.22 chdir、fchdir和getcwd函数 102 4.23 设备特殊文件 104 4.24 文件访问权限位小结 106 4.25 小结 106 习题 107 第5章 标准I/O库 109 5.1 引言 109 5.2 流和FILE对象 109 5.3 标准输入、标准输出和标准出错 110 5.4 缓冲 110 5.5 打开流 112 5.6 读和写流 114 5.7 每次一行I/O 116 5.8 标准I/O的效率 117 5.9 二进制I/O 119 5.10 定位流 120 5.11 格式化I/O 121 5.12 实现细节 125 5.13 临时文件 127 5.14 标准I/O的替代软件 130 5.15 小结 130 习题 130 第6章 系统数据文件和信息 133 6.1 引言 133 6.2 口令文件 133 6.3 阴影口令 136 6.4 组文件 137 6.5 附加组ID 138 6.6 实现的区别 139 6.7 其他数据文件 139 6.8 登录账户记录 140 6.9 系统标识 141 6.10 时间和日期例程 142 6.11 小结 146 习题 146 第7章 进程环境 147 7.1 引言 147 7.2 main函数 147 7.3 进程终止 147 7.4 命令行参数 151 7.5 环境表 152 7.6 C程序的存储空间布局 152 7.7 共享库 154 7.8 存储器分配 154 7.9 环境变量 157 7.10 setjmp和longjmp函数 159 7.11 getrlimit和setrlimit函数 164 7.12 小结 168 习题 168 第8章 进程控制 171 8.1 引言 171 8.2 进程标识符 171 8.3 fork函数 172 8.4 vfork函数 176 8.5 exit函数 178 8.6 wait和waitpid函数 179 8.7 waitid函数 183 8.8 wait3和wait4函数 184 8.9 竞争条件 185 8.10 exec函数 188 8.11 更改用户ID和组ID 192 8.12 解释器文件 196 8.13 system函数 200 8.14 进程会计 203 8.15 用户标识 208 8.16 进程时间 208 8.17 小结 210 习题 211 第9章 进程关系 213 9.1 引言 213 9.2 终端登录 213 9.3 网络登录 216 9.4 进程组 218 9.5 会话 219 9.6 控制终端 220 9.7 tcgetpgrp、tcsetpgrp和tcgetsid函数 221 9.8 作业控制 222 9.9 shell执行程序 225 9.10 孤儿进程组 228 9.11 FreeBSD实现 230 9.12 小结 231 习题 232 第10章 信号 233 10.1 引言 233 10.2 信号概念 233 10.3 signal函数 240 10.4 不可靠的信号 242 10.5 中断的系统调用 244 10.6 可重入函数 246 10.7 SIGCLD语义 248 10.8 可靠信号术语和语义 250 10.9 kill和raise函数 251 10.10 alarm和pause函数 252 10.11 信号集 256 10.12 sigprocmask函数 258 10.13 sigpending函数 259 10.14 sigaction函数 261 10.15 sigsetjmp和siglongjmp函数 266 10.16 sigsuspend函数 268 10.17 abort函数 274 10.18 system函数 276 10.19 sleep函数 280 10.20 作业控制信号 282 10.21 其他特征 284 10.22 小结 285 习题 285 第11章 线程 287 11.1 引言 287 11.2 线程概念 287 11.3 线程标识 288 11.4 线程的创建 288 11.5 线程终止 291 11.6 线程同步 297 11.7 小结 311 习题 311 第12章 线程控制 313 12.1 引言 313 12.2 线程限制 313 12.3 线程属性 314 12.4 同步属性 318 12.5 重入 324 12.6 线程私有数据 328 12.7 取消选项 331 12.8 线程和信号 333 12.9 线程和fork 336 12.10 线程和I/O 339 12.11 小结 340 习题 340 第13章 守护进程 341 13.1 引言 341 13.2 守护进程的特征 341 13.3 编程规则 342 13.4 出错记录 345 13.5 单实例守护进程 348 13.6 守护进程的惯例 350 13.7 客户进程-服务器进程模型 354 13.8 小结 354 习题 354 第14章 高级I/O 355 14.1 引言 355 14.2 非阻塞I/O 355 14.3 记录锁 357 14.4 STREAMS 370 14.5 I/O多路转接 379 14.5.1 select和pselect函数 381 14.5.2 poll函数 384 14.6 异步I/O 386 14.6.1 系统V异步I/O 386 14.6.2 BSD异步I/O 387 14.7 readv和writev函数 387 14.8 readn和writen函数 389 14.9 存储映射I/O 390 14.10 小结 395 习题 396 第15章 进程间通信 397 15.1 引言 397 15.2 管道 398 15.3 popen和pclose函数 403 15.4 协同进程 408 15.5 FIFO 412 15.6 XSI IPC 415 15.6.1 标识符和键 415 15.6.2 权限结构 416 15.6.3 结构限制 417 15.6.4 优点和缺点 417 15.7 消息队列 418 15.8 信号量 422 15.9 共享存储 427 15.10 客户进程-服务器进程属性 432 15.11 小结 434 习题 434 第16章 网络IPC:套接字 437 16.1 引言 437 16.2 套接字描述符 437 16.3 寻址 439 16.3.1 字节序 440 16.3.2 地址格式 441 16.3.3 地址查询 442 16.3.4 将套接字与地址绑定 449 16.4 建立连接 450 16.5 数据传输 452 16.6 套接字选项 464 16.7 带外数据 466 16.8 非阻塞和异步I/O 467 16.9 小结 468 习题 468 第17章 高级进程间通信 469 17.1 引言 469 17.2 基于STREAMS的管道 469 17.2.1 命名的STREAMS管道 472 17.2.2 唯一连接 473 17.3 UNIX域套接字 476 17.3.1 命名UNIX域套接字 477 17.3.2 唯一连接 478 17.4 传送文件描述符 482 17.4.1 经由基于STREAMS的管道传送文件描述符 484 17.4.2 经由UNIX域套接字传送文件描述符 486 17.5 open服务器版本1 493 17.6 open服务器版本2 498 17.7 小结 505 习题 505 第18章 终端I/O 507 18.1 引言 507 18.2 综述 507 18.3 特殊输入字符 512 18.4 获得和设置终端属性 516 18.5 终端选项标志 516 18.6 stty命令 522 18.7 波特率函数 523 18.8 行控制函数 524 18.9 终端标识 524 18.10 规范模式 529 18.11 非规范模式 532 18.12 终端的窗口大小 537 18.13 termcap,terminfo和curses 539 18.14 小结 540 习题 540 第19章 伪终端 541 19.1 引言 541 19.2 概述 541 19.3 打开伪终端设备 544 19.3.1 基于STREAMS的伪终端 547 19.3.2 基于BSD的伪终端 549 19.3.3 基于Linux的伪终端 551 19.4 pty_fork函数 553 19.5 pty程序 555 19.6 使用pty程序 559 19.7 高级特性 564 19.8 小结 565 习题 565 第20章 数据库函数库 567 20.1 引言 567 20.2 历史 567 20.3 函数库 568 20.4 实现概述 569 20.5 集中式或非集中式 572 20.6 并发 574 20.7 构造函数库 574 20.8 源代码 575 20.9 性能 598 20.10 小结 600 习题 601 第21章 与网络打印机通信 603 21.1 引言 603 21.2 网络打印协议 603 21.3 超文本传输协议 605 21.4 打印假脱机技术 605 21.5 源代码 607 21.6 小结 644 习题 645 附录A 函数原型 647 附录B 其他源代码 677 附录C 部分习题答案 685 参考书目 709 索引 715

2015-04-16

空空如也

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

TA关注的人

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