自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (29)
  • 收藏
  • 关注

原创 编译 arm 版 perl

文章目录一. 准备工作1.1. 下载 perl 和 perl-cross1.2. 安装交叉工具链二. 配置和编译2.1. 解压2.2. 编译参考一. 准备工作环境:Ubuntu 16.04perl-5.30.0perl-cross-1.31.1. 下载 perl 和 perl-cross注意: perl 和 perl-cross 的版本要对应。我这里使用的分别是 perl-...

2019-06-20 16:44:05 1984 2

原创 C++ 返回值优化

文章目录背景Copy elision 和 RVO编译器无法优化返回值的场景参考背景使用函数返回非内置类型对象时总是担心因拷贝对象而带来的性能问题。因此经常使用方式一传递对象的引用作为函数的参数,然后在函数里为对象赋值,而不使用方式二方式一:void f(std::vector<int>& v) { // do some thing with v}方式二:s...

2019-05-20 21:20:59 2040

翻译 编译 arm 版本 protobuf

文章目录准备下载编译参考准备$ sudo apt install autoconf automake libtool curl make g++ unzip git安装 arm 工具链$ sudo apt install gcc-arm-linux-gnueabihf下载下载 protobuf 和对应版本的 protoc$ wget https://github.com/prot...

2019-03-19 21:36:34 2991 1

原创 map 中结构体或指针做 key

文章目录一. 问题背景1.1. 问题描述1.2. 问题分析二. 解决方案2.1. 方案一2.2. 方案二三. 参考一. 问题背景1.1. 问题描述朋友今天问了一个关于 map 的问题,假设有个 Person 结构体如下:typedef struct { std::string name; int age;} Person;map 定义如下:typedef std::map&...

2019-02-16 01:33:32 5002

原创 cmake protobuf

一. 简介Protocol Buffers 是一种数据序列化的格式。特点是语言无关,平台无关。相比于 XML 的优势是更小,更快和更简单。适合数据存储或 RPC 数据交换,可用于通信协议。支持的语言包括:C++,C#,Dart,Go,Java,Python 等。二. 安装https://github.com/protocolbuffers/protobuf/releases因为这篇是...

2019-01-29 13:08:09 4810

原创 coturn 简介

文章目录一. 安装1.1. 下载1.2. 安装二. 配置三. 启动 &amp;amp; 测试3.1. Server3.2. Client四. 代码流程4.1. 大体框架涉及的函数4.2. 设置 relay 相关4.3. 处理请求或数据4.4. 分析请求并构造返回数据4.5. 真正的返回数据一. 安装1.1. 下载gitgit clone https://github.com/coturn/co...

2019-01-15 17:03:29 8186

原创 UPnP 端口映射原理

文章目录一. 简介二. 协议2.1. 发现2.2. 控制三. miniupnp3.1. upnpc 常用命令介绍3.2. miniupnp 映射部分代码简单逻辑参考一. 简介实现 UPnP 条件:路由器需支持 UPnP,且需启用该功能。操作系统需支持 UPnP,且操作系统需启用该功能。软件需支持 UPnP,如 p2p 下载软件等,且需启用该功能。简单来理解的话,UPnP 是一种设备...

2018-12-14 21:06:44 9280

原创 DHCP 分配 IP 初探

文章目录一. 概念1.1. 作用1.2. 为什么要使用 DHCP二. DHCP 原理2.1. DHCP 分配 IP 过程2.1.1. DISCOVER2.1.2. OFFER2.1.3. REQUEST2.1.4. ACK2.1.5. 完成配置2.1.6. DHCP Client 和 Server 交换消息图2.2. 续约参考一. 概念动态主机配置协议(Dynamic Host Configu...

2018-12-05 21:19:26 657

原创 减少 golang 二进制文件大小

文章目录一. Go VS C 二进制ELF二. 如何减小 go 二进制文件大小2.1. -ldflags2.2. UPX参考环境:$ go versiongo version go1.11.2 linux/amd64$ gcc --versiongcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609一. Go VS C 二进制hel...

2018-11-28 12:08:34 6120 4

原创 NUMA

文章目录一. 概念二. NUMA 带来的新问题三. 设置 NUMA参考一. 概念非一致性内存访问(Non-Uniform Memory Access,简称 NUMA)特点:内存划分为多个内存节点。内存的访问时间取决于访问 CPU 和节点的相对位置。# numactl --hardwareavailable: 2 nodes (0-1)node 0 size: 32276 MB...

2018-11-14 16:58:20 637

原创 系统监控 dashboard - netdata

OS:Ubuntu 16.04一. 准备阶段$ apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl二. 安装 netdata2.1. 命令安装$ sudo apt install netdata...

2018-11-07 21:31:38 1515

原创 gRPC c++

准备工作Install grpc$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc$ cd grpc$ git submodule update --init$ make &amp;&amp; sudo make installInstall protobuf$ cd thir...

2018-10-31 21:37:51 2974

原创 TCMalloc

文章目录问题简介小对象分配划分管理分配大对象分配划分分配Span释放参考内存分配的重要因素:速度。不同 malloc 分配速度对比:malloc耗时减少锁争用空间效率ptmalloc2300 ns线程 arena每个对象 4Bytes 头,大小四舍五入为 8 的倍数TCMalloc50 ns1. 小对象几乎没有争用 2. 大对象使用细粒度和高效的自旋锁...

2018-10-02 18:31:30 982

原创 go 设计模式(一)单例模式

go 的单例模式写法比较简单,可以通过sync.Once来辅助。type Singleton struct { name string}var ( once sync.Once instance *Singleton)func New() *Singleton { once.Do(func() { // once.Do 调用的函数只执行 1 次...

2018-09-27 11:16:35 603

原创 Mac 下 git 命令自动补全

一. 安装 bash-completionbrew install bash-completion安装成功后提示:==&gt; CaveatsAdd the following line to your ~/.bash_profile: [ -f /usr/local/etc/bash_completion ] &amp;&amp; . /usr/local/etc/bash_com...

2018-09-27 01:13:02 2554

原创 Golang 通过方法名调用方法

有这样一个结构体 Person,带有4个方法。现在有个需求,想通过方法的名字调用对应的方法,想到的办法是将名字和对应方法建立 map 关系。type Person struct { nape string age int}func (p *Person) SetName(nape string) { p.nape = nape }func (p *Person) GetName(...

2018-09-20 20:14:41 7315 1

原创 Golang 通过 cgo 调用 C/C++ 静态库(二)

书接上回C 调用 C++ 类Golang 通过 cgo 调用 C/C++ 静态库(一)如果想使用 golang 调用 C++ 代码该如何做?我们知道,golang 无法直接调用 C++,但是可以调用 C,所以我们需要用 C 包装下 C++ 代码。还是 C 调用 C++ 类 中 Person 的例子,我们现在要将 person.cpp 的类生成静态库供 golang 调用。我们首...

2018-09-17 19:59:38 5666 2

原创 Golang 通过 cgo 调用 C/C++ 静态库(一)

hello.h#ifndef HELLO_H_#define HELLO_H_#ifdef __cplusplusextern "C" {#endifextern int hello(char *name, int age);#ifdef __cplusplus}#endif#endif // HELLO_H_hello.c#include &lt;stdio.h...

2018-09-17 19:21:08 14708 6

原创 C 调用 C++ 类

现在有个类Person,其中成员函数分别用于获取 name 和 age: - GetName() - GetAge()我们希望可以在 C 代码中调用 C++ 类的方法。person.hclass Person { public: Person(std::string name, int age); ~Person() {} const char *GetName...

2018-09-14 15:57:44 15275 1

原创 vim 提示 PANIC PANIC PANIC

写 go 程序的时候,突然发现自动提示时显示PANIC PANIC PANIC。起初以为是YouCompleteMe出了问题,检查了下排除这种可能。最后网上搜索发现是gocode的问题。解决方法如下:gocode close &amp;&amp; go get -u github.com/nsf/gocode...

2018-09-09 00:03:08 567

原创 invalid use of non-static member function

现在有一个 Object 类,它有两个方法:Recv 负责接收数据,并传递给 ProcessProcess 负责处理数据我们希望这个类接收完数据后启动线程去处理,不阻塞后面的其他业务逻辑。class Object { public: void Recv() { int a = 2; std::thread t(Process, a); // Do...

2018-09-06 18:26:07 48821 4

原创 Golang 闭包

为了加速数据处理,往往我们会选择goroutines并行处理。values := []string{"c++", "golang", "python"}for _, val := range values { go func() { fmt.Println(val) }()}执行的结果是pythonpythonpython和预期不符,为什么?...

2018-09-06 11:51:13 193

原创 C++ 使用 curl 发送 json 数据请求

用到的库:curlnlohmann/json假设现在 Client 想要获取 Person 喜欢的语言,需要发送 Person 的个人信息到 Server,Server 根据用户姓名返回他喜欢的语言。struct Book { std::string name;};struct Person { std::string name; int age; std:...

2018-09-06 07:49:20 5702

原创 Golang http 开启 gzip

一. 测试代码1.1. http 开启 gzip 数据大小对比1.2. http 开启 gzip benchmark 对比参考一. 测试代码package gzipimport ( "compress/gzip" "fmt" "io/ioutil" "log" "net/http")func RequestGzip...

2018-08-27 08:25:37 8479

翻译 TCP 拥塞控制

文档翻译自 https://tools.ietf.org/html/rfc5681摘要本文档定义了 TCP 的四种拥塞控制算法:慢启动,拥塞避免,快速重传和快速恢复。 此外,文档还规定了 TCP 在相对较长的空闲时段之后应如何开始传输,以及讨论各种确认生成方法。RFC 2581 已废弃。目录摘要目录1. 简介2. 定义3.拥塞控制算法3.1. 缓慢启动和拥...

2018-08-02 10:47:21 1765

翻译 可靠的 UDP 协议

可靠 UDP 协议 译自 https://tools.ietf.org/html/draft-ietf-sigtran-reliable-udp-00摘要此 Internet 草案讨论了可靠UDP(RUDP)。RUDP 基于 RFC 1151 和 908。RUDP 在 UDP/IP 协议层之上,为虚拟连接提供可靠的有序传送(最多可重传次数)。RUDP 具有非常灵活的设计,...

2018-07-24 23:43:07 2749

原创 Golang 通过代码执行命令

有时需要通过代码执行一些系统命令来获取信息,golang 提供exec.Command来实现这一目的。shtest.gopackage mainimport ( "fmt" "os/exec" "strings")func exeSysCommand(cmdStr string) string { cmd := exec.Command("sh",...

2018-04-24 20:27:42 7385

原创 Golang panic 打印堆栈信息

一. 缘起程序进程后台运行monitor 监控程序负责拉起程序当因为逻辑问题导致后台进程挂掉时,不容易发现程序曾经挂过。golang 可以通过 recover 捕获 error,并将 panic 时的堆栈打印到日志来定位问题。$ tree panictestpanictest├── main.go└── panic └── panic.go二. 代码...

2018-04-24 00:55:05 16591

原创 Golang 序列化方式及对比

Golang 序列化的方式:BinaryGobJSONProtobuf一. Binary// OKtype Message struct { Id uint64 Size uint64}// Wrong/*type Message struct { Id int Size int Data string}*/...

2018-04-18 14:02:24 16547 3

原创 Python redis.ttl 返回 None

今天在 Python 中使用 redis 遇到一个奇怪的问题。

2017-12-07 12:02:04 3631 4

原创 random shuffle

数组洗牌实现// random_shuffle.cpp#include <iostream>#include <vector>#include <ctime>void random_shuffle(std::vector<int>& v) { int n = v.size(); std::srand(std::time(0)); for (int i = n-1; i > 0; --i

2017-12-06 10:28:02 398

原创 l2fwd 测试

环境如下:Ubuntu 16.04cpu 4 coreIntel Corporation 82545EM Gigabit Ethernet Controller * 2个dpdk-17.02.1 提示: 测试需要root权限一. dpdk 环境搭建1.1. 编译 dpdkcd dpdk

2017-11-03 11:34:24 2891 1

翻译 libmaxminddb

libmaxminddb - 用于处理 MaxMind 数据库文件的库

2017-10-18 21:32:52 4953

原创 lua tcp socket read timed out

线上机器在晚高峰 20:00 ~ 00:00 点之间 CPU 负载很高,且 nginx 的 error.log 日志中有大量类似如下内容:2017/10/16 22:19:48 [error] 16583#0: *137334081 lua tcp socket read timed out, client: 61.148.244.157, server: localhost, request: "

2017-10-17 12:53:56 13123

原创 Grafana Test Failed Network Error: Bad Gateway(502)

一. 问题 问题描述: Grafana 添加Data Sources Test 时失败,显示Network Error: Bad Gateway(502)

2017-09-13 19:58:00 17609 9

翻译 怎样设置 Docker 监控

本文转自 https://www.brianchristner.io/how-to-setup-docker-monitoring/ 作者:Brian Christner Brian’s spent a large portion of his career in the casino industry where he made sure the house always won. Bria

2017-09-03 15:56:35 2217

原创 使用 tcpcopy 线上导流及回放

有时项目上线前需要模拟线上流量进行压测或者验证功能,或者从线上导流到测试环境,排查问题,使用 tcpcopy 可以帮你完成这些目的。https://github.com/session-replay-tools/tcpcopy

2017-09-01 18:10:48 5429 7

原创 redis expire key 过期不删除

1. 问题描述今天使用 redis 遇到个奇怪的问题,key 设置过期时间后,到期后并没有删除。

2017-08-28 21:20:59 11553 7

原创 Intel VTune Amplifier XE 使用

VTune是 Intel 一个比较强大的性能分析软件。下载地址:intel-vtune-amplifier-xe

2017-08-10 13:19:37 7739

翻译 用 TestPMD 测试 DPDK 性能和功能

此文转自Testing DPDK Performance and Features with TestPMD 作者简介:Pablo de Lara Guarch 是英特尔网络软件工程师,主要关注DPDK的数据平面函数和库的开发,其贡献包括哈希算法增强和新的加解密设备驱动。此外,他还维护了DPDK crypto subtree。

2017-08-05 17:41:25 7721 3

深入理解Nginx模块开发与架构解析(第2版).pdf下载 高清完整版

Nginx 模块开发领域里程碑之作的升级版,深度还原 Nginx 设计思想,透彻解析 Nginx 架构。 此文档为 pdf 格式,带完整的目录标签。

2017-02-15

The.Go.Programming.Language.pdf

The.Go.Programming.Language,作者 Alan A.A. Donovan 与 Brian W. Kernighan,2015年10月出版,带有目录标签 Contents

2016-07-22

Dos-7.11.iso

Dos-7.1 ISO镜像

2016-07-22

FMD 编程手册

此文档是原Solaris官方文档,其中包括了模块的API接口,事件的传输机制,拓扑API接口,snmp-trap相关过程。如果你想要对FMD(Fault Management Daemon)故障管理进行修改,这个开发手册是你需要的,当然,你也可以通过这个手册来了解FMD的机制

2014-06-30

OpenSolaris Developer's Reference.pdf

这是OpenSolaris的开发者文档,文档为英文,主要是源码树内容的介绍,以及如何编译Solaris内核源码

2014-03-28

GNU make中文手册

此文由徐海兵翻译整理,版本为v3.8,主要介绍Makefile的规则

2014-01-03

vim_101_hacks.pdf

这个是本书的网站http://vim.101hacks.com/ 里面是vim常用的快捷命令的用法和小技巧

2013-12-17

GNU C Library

gnc官方C库函数 为pdf格式 你会需要的

2013-12-06

MdePkg Document With Libraries.chm

UDK2010.SR1.UP1 中再带的开发文档,里面有一些EDK用到的库,函数、结构体等,为chm格式

2013-01-25

EFI Developer’s Guide

1. Introduction 2. EFI Applications 3. EFI OS Loaders A. EFI Boot Services B. EFI Runtime Services C. EFI Protocol Interfaces D. EFI Library Functions and Macros E. Sample OS Loader Listing F. Sample OS Loader Output G. Glossary

2013-01-18

config文件

我配置内核的.config文件

2012-10-15

Wireshark使用教程用户手册.doc

Wireshark使用教程用户手册.doc

2012-08-03

SVN中文帮助文档CHM

SVN 中文帮助文档 TortoiseSVN_zh_CN.chm 1.5.5版本 CHM 格式

2012-07-21

think in java英文版及源码

Introduction 1: Introduction to Objects 2: Everything is an Object 3: Controlling Program Flow 4: Initialization & Cleanup 5: Hiding the Implementation 6: Reusing Classes 7: Polymorphism 8: Interfaces & Inner Classes 9: Collections of Objects 10: Error Handling with Exceptions 11: The Java I/O System 12: Detecting types 13: Concurrency 14: Creating Windows & Applets 15: Discovering problems Part II: J2EE 16: Distributed Computing 17: Servlets, JSPs & Tags 18: Enterprise JavaBeans 19: XML A: Passing & Returning Objects B: Java Programming Guidelines C: Resources Index

2012-07-06

UNIX环境高级编程(第二版中文)高清完整PDF版

目 录 译者序 译者简介 前言 第1章 UNIX基础知识 1 1.1 引言 1 1.2 登录 1 1.2.1 登录名 1 1.2.2 shell 1 1.3 文件和目录 2 1.3.1 文件系统 2 1.3.2 文件名 2 1.3.3 路径名 2 1.3.4 工作目录 4 1.3.5 起始目录 4 1.4 输入和输出 5 1.4.1 文件描述符 5 1.4.2 标准输入、标准输出和标准 出错 5 1.4.3 不用缓存的I/O 5 1.4.4 标准I/O 6 1.5 程序和进程 7 1.5.1 程序 7 1.5.2 进程和进程ID 7 1.5.3 进程控制 7 1.6 ANSI C 9 1.6.1 函数原型 9 1.6.2 类属指针 9 1.6.3 原始系统数据类型 10 1.7 出错处理 10 1.8 用户标识 11 1.8.1 用户ID 11 1.8.2 组ID 12 1.8.3 添加组ID 12 1.9 信号 12 1.10 UNIX时间值 14 1.11 系统调用和库函数 14 1.12 小结 16 习题 16 第2章 UNIX标准化及实现 17 2.1 引言 17 2.2 UNIX标准化 17 2.2.1 ANSI C 17 2.2.2 IEEE POSIX 18 2.2.3 X/Open XPG3 19 2.2.4 FIPS 19 2.3 UNIX实现 19 2.3.1 SVR4 20 2.3.2 4.3+BSD 20 2.4 标准和实现的关系 21 2.5 限制 21 2.5.1 ANSI C限制 22 2.5.2 POSIX限制 22 2.5.3 XPG3限制 24 2.5.4 sysconf、pathconf 和fpathconf 函数 24 2.5.5 FIPS 151-1要求 28 2.5.6 限制总结 28 2.5.7 未确定的运行时间限制 29 2.6 功能测试宏 32 2.7 基本系统数据类型 32 2.8 标准之间的冲突 33 2.9 小结 34 习题 34 第3章 文件I/O 35 3.1 引言 35 3.2 文件描述符 35 3.3 open函数 35 3.4 creat函数 37 3.5 close函数 37 3.6 lseek函数 38 3.7 read函数 40 3.8 write函数 41 3.9 I/O的效率 41 3.10 文件共享 42 3.11 原子操作 45 3.11.1 添加至一个文件 45 3.11.2 创建一个文件 45 3.12 dup和dup2函数 46 3.13 fcntl函数 47 3.14 ioctl函数 50 3.15 /dev/fd 51 3.16 小结 52 习题 52 第4章 文件和目录 54 4.1 引言 54 4.2 stat, fstat和lstat函数 54 4.3 文件类型 55 4.4 设置-用户-ID和设置-组-ID 57 4.5 文件存取许可权 58 4.6 新文件和目录的所有权 60 4.7 access函数 60 4.8 umask函数 62 4.9 chmod和fchmod函数 63 4.10 粘住位 65 4.11 chown, fchown和 lchown函数 66 4.12 文件长度 67 4.13 文件截短 68 4.14 文件系统 69 4.15 link, unlink, remove和rename 函数 71 4.16 符号连接 73 4.17 symlink 和readlink函数 76 4.18 文件的时间 76 4.19 utime函数 78 4.20 mkdir和rmdir函数 79 4.21 读目录 80 4.22 chdir, fchdir和getcwd函数 84 4.23 特殊设备文件 86 4.24 sync和fsync函数 87 4.25 文件存取许可权位小结 88 4.26 小结 89 习题 89 第5章 标准I/O库 91 5.1 引言 91 5.2 流和FILE对象 91 5.3 标准输入、标准输出和标准出错 91 5.4 缓存 91 5.5 打开流 94 5.6 读和写流 96 5.6.1 输入函数 96 5.6.2 输出函数 97 5.7 每次一行I/O 98 5.8 标准I/O的效率 99 5.9 二进制I/O 100 5.10 定位流 102 5.11 格式化I/O 103 5.11.1 格式化输出 103 5.11.2 格式化输入 103 5.12 实现细节 104 5.13 临时文件 105 5.14 标准I/O的替代软件 108 5.15 小结 108 习题 108 第6章 系统数据文件和信息 110 6.1 引言 110 6.2 口令文件 110 6.3 阴影口令 112 6.4 组文件 113 6.5 添加组ID 114 6.6 其他数据文件 115 6.7 登录会计 116 6.8 系统标识 116 6.9 时间和日期例程 117 6.10 小结 121 习题 121 第7章 UNIX进程的环境 122 7.1 引言 122 7.2 main 函数 122 7.3 进程终止 122 7.3.1 exit和_exit函数 122 7.3.2 atexit函数 124 7.4 命令行参数 125 7.5 环境表 126 7.6 C程序的存储空间布局 126 7.7 共享库 127 7.8 存储器分配 128 7.9 环境变量 130 7.10 setjmp 和longjmp函数 132 7.10.1 自动、寄存器和易失变量 134 7.10.2 自动变量的潜在问题 136 7.11 getrlimit 和setrlimit函数 136 7.12 小结 139 习题 140 第8章 进程控制 141 8.1 引言 141 8.2 进程标识 141 8.3 fork函数 142 8.4 vfork 函数 145 8.5 exit函数 147 8.6 wait和waitpid函数 148 8.7 wait3和wait4函数 152 8.8 竞态条件 153 8.9 exec函数 156 8.10 更改用户ID和组ID 160 8.10.1 setreuid 和setregid函数 162 8.10.2 seteuid和 setegid函数 163 8.10.3 组ID 163 8.11 解释器文件 164 8.12 system函数 167 8.13 进程会计 171 8.14 用户标识 175 8.15 进程时间 176 8.16 小结 178 习题 178 第9章 进程关系 180 9.1 引言 180 9.2 终端登录 180 9.2.1 4.3+BSD终端登录 180 9.2.2 SVR4终端登录 182 9.3 网络登录 182 9.3.1 4.3+BSD网络登录 182 9.3.2 SVR4网络登录 183 9.4 进程组 183 9.5 对话期 184 9.6 控制终端 185 9.7 tcgetpgrp 和tcsetpgrp函数 187 9.8 作业控制 187 9.9 shell执行程序 189 9.10 孤儿进程组 193 9.11 4.3+BSD实现 195 9.12 小结 197 习题 197 第10章 信号 198 10.1 引言 198 10.2 信号的概念 198 10.3 signal函数 203 10.3.1 程序起动 205 10.3.2 进程创建 206 10.4 不可靠的信号 206 10.5 中断的系统调用 207 10.6 可再入函数 209 10.7 SIGCLD语义 211 10.8 可靠信号术语和语义 213 10.9 kill和raise函数 213 10.10 alarm和pause函数 214 10.11 信号集 219 10.12 sigprocmask 函数 220 10.13 sigpending函数 222 10.14 sigaction函数 223 10.15 sigsetjmp 和siglongjmp函数 226 10.16 sigsuspend函数 229 10.17 abort函数 234 10.18 system函数 235 10.19 sleep函数 240 10.20 作业控制信号 241 10.21 其他特征 243 10.21.1 信号名字 243 10.21.2 SVR4信号处理程序的附 加参数 244 10.21.3 4.3+BSD信号处理程序的附 加参数 244 10.22 小结 244 习题 244 第11章 终端I/O 246 11.1 引言 246 11.2 综述 246 11.3 特殊输入字符 250 11.4 获得和设置终端属性 254 11.5 终端选择标志 254 11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 272 第12章 高级I/O 273 12.1 引言 273 12.2 非阻塞I/O 273 12.3 记录锁 275 12.3.1 历史 276 12.3.2 fcntl记录锁 276 12.3.3 锁的隐含继承和释放 280 12.3.4 4.3+BSD的实现 281 12.3.5 建议性锁和强制性锁 284 12.4 流 288 12.4.1 流消息 289 12.4.2 putmsg和putpmsg函数 290 12.4.3 流ioctl操作 291 12.4.4 write至流设备 294 12.4.5 写方式 294 12.4.6 getmsg和getpmsg函数 294 12.4.7 读方式 295 12.5 I/O多路转接 296 12.5.1 select函数 298 12.5.2 poll函数 301 12.6 异步I/O 303 12.6.1 SVR4 303 12.6.2 4.3+BSD 303 12.7 readv和writev函数 304 12.8 readn和writen函数 306 12.9 存储映射I/O 307 12.10 小结 311 习题 311 第13章 精灵进程 312 13.1 引言 312 13.2 精灵进程的特征 312 13.3 编程规则 313 13.4 出错记录 314 13.4.1 SVR4流log驱动程序 315 13.4.2 4.3+BSD syslog设施 316 13.5 客户机-服务器模型 319 13.6 小结 319 习题 319 第14章 进程间通信 320 14.1 引言 320 14.2 管道 320 14.3 popen和pclose函数 325 14.4 协同进程 330 14.5 FIFO 333 14.6 系统V IPC 335 14.6.1 标识符和关键字 336 14.6.2 许可权结构 337 14.6.3 结构限制 337 14.6.4 优点和缺点 337 14.7 消息队列 338 14.8 信号量 342 14.9 共享存储 346 14.10 客户机-服务器属性 351 14.11 小结 353 习题 353 第15章 高级进程间通信 355 15.1 引言 355 15.2 流管道 355 15.3 传送文件描述符 358 15.3.1 SVR4 360 15.3.2 4.3BSD 361 15.3.3 4.3+BSD 364 15.4 open服务器第1版 366 15.5 客户机-服务器连接函数 371 15.5.1 SVR4 372 15.5.2 4.3+BSD 375 15.6 open服务器第2版 378 15.7 小结 385 习题 385 第16章 数据库函数库 386 16.1 引言 386 16.2 历史 386 16.3 函数库 386 16.4 实现概述 388 16.5 集中式或非集中式 390 16.6 并发 391 16.6.1 粗锁 391 16.6.2 细锁 391 16.7 源码 392 16.8 性能 409 16.8.1 单进程的结果 410 16.8.2 多进程的结果 410 16.9 小结 412 习题 412 第17章 与PostScript打印机通信 413 17.1 引言 413 17.2 PostScript通信机制 413 17.3 假脱机打印 415 17.4 源码 417 17.5 小结 434 习题 434 第18章 调制解调器拨号器 435 18.1 引言 435 18.2 历史 435 18.3 程序设计 436 18.4 数据文件 437 18.5 服务器设计 439 18.6 服务器源码 439 18.7 客户机设计 463 18.7.1 终端行规程 463 18.7.2 一个进程还是两个进程 464 18.8 客户机源码 465 18.9 小结 474 习题 474 第19章 伪终端 476 19.1 引言 476 19.2 概述 476 19.2.1 网络登录服务器 477 19.2.2 script程序 478 19.2.3 expect程序 479 19.2.4 运行协同进程 479 19.2.5 观看长时间运行程序的输出 479 19.3 打开伪终端设备 480 19.3.1 SVR4 481 19.3.2 4.3+BSD 482 19.4 pty_fork函数 484 19.5 pty程序 486 19.6 使用pty程序 489 19.6.1 utmp文件 489 19.6.2 作业控制交互 489 19.6.3 检查长时间运行程序的输出 491 19.6.4 script程序 491 19.6.5 运行协同进程 492 19.6.6 用非交互模式驱动交互式 程序 492 19.7 其他特性 494 19.7.1 打包模式 494 19.7.2 远程模式 494 19.7.3 窗口大小变化 495 19.7.4 信号发生 495 19.8 小结 495 习题 495 附录A 函数原型 497 附录B 其他源代码 512 附录C 习题答案 518 参考书目 536

2012-06-14

gdk-html-2.24.10.tar.gz

GDK 2.24开发参考手册 GDK编程 GDK API文档

2012-06-11

Linux C函数手册

字符测试篇 字符串转换篇 内存控制篇 日期时间篇 内存及字符串操作篇 常用数学函数篇 用户组篇 数据结构及算法篇 文件操作篇 文件内容操作篇 进程操作篇 文件权限控制篇 信号处理篇 接口处理篇 环境变量篇 终端控制篇

2012-04-24

kmainwindow.h

路径:kde-4.5.4/kdelibs-4.5.4/kdeui/widgets/kmainwindow.h

2012-04-23

grub4dos-0.4.4-src 源码

grub4dos-0.4.4-2009-01-11-src.zip 源码程序,Linux引导程序

2012-04-18

NASM中文手册

第一章 简介 第二章 运行NASM 第三章 NASM语言 第四章 NASM预处理器 第五章 汇编器指令 第六章 输出文件的格式 第七章 编写16位代码 第八章 编写32位代码 第九章 混合16位与32位代码 第十章 答疑

2012-04-18

gdk-html-2.22.1 API手册

GDK 2 Reference Manual API 参考文档通常可以通过发行版中的 Devhelp 工具找到,并可以软件包形式下载。

2012-04-03

GTK 函数手册

其实就是http://www.gtk.org/官网中帮助文档,只不过是将在线的文档都已经下好成网页,供大家参考

2012-04-02

GTK+2.0编程范例.rar

关于基础的GTK使用,包括窗口和控件,菜单与工具栏,对话框,综合应用

2012-03-30

C语言基础ppt文档

里面的内容比较详细,适合初学者: 第一章 课件.ppt 第二章 算法.ppt 第四章 顺序程序设计课件.ppt

2012-03-30

网页制作完全手册帮助文档

格式为CHM的,里面有常用的网页制作用的标签、属性的用法、对象、方法等。里面还有一些常用的技巧,技巧介绍部分为英文的

2011-05-02

C/C++参考帮助文档

一些常用的C函数,标准C库,C++标准模板库等

2011-05-02

mysql-connector-java-5.1.0-bin.jar

mysql-connector-java-5.1.0-bin.jar是MySQL5.1的驱动程序

2011-04-11

mysql-connector-java-5.0.4-bin.jar

mysql-connector-java-5.0.4-bin.jar是MySQL5.0的驱动程序

2011-04-10

易学C++(适合初学者和一切有兴趣的朋友们)

附带文章中源代码和习题答案,文章是pdf格式的,其中介绍了如何学习C++,涵盖变量,语法,函数,数组,指针及对象和继承的知识

2010-11-03

空空如也

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

TA关注的人

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