C中提供了goto语法,可以通过goto跳转到函数体内部标记的某一行代码,但是却无法跳出函数之外的任意位置。
为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部位置记录标号和goto作用。
使用这两个函数需要包含头文件
int setjmp(jmp_buf env)
建立本地的jmp_buf缓冲区并且初始化,用于将来跳转回此处。这个子程序保存程序...
分类:
其他好文 时间:
2015-01-28 18:00:37
阅读次数:
180
/A匹配缓冲区的起始点;/Z匹配缓冲区的结束点;关于它们的使用,详细参见代码。/d表示数字,/d{3}表示一个三位数的数字,{}表示约束运算符(bound operator),表示要重复3次;和//d//d//d的效果一样;重复符+:表示前面的表达式可以重复,但是必须至少重复一次;比如:[a-zA-...
分类:
其他好文 时间:
2015-01-28 17:40:01
阅读次数:
188
1. Sed简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写...
分类:
系统相关 时间:
2015-01-28 15:58:44
阅读次数:
219
除了发送函数以外,发送缓冲区对象还会响应来自网络的on_ack和on_nack消息,这两个消息分别是处理正常的状态报告和丢包情况下的网络报告。如果收到on_ack,缓冲区对象会把已经接收端报告过来的报文ID全部从发送窗口中删除,然后调用attempt_send尝试新的块发送。如果收到的是on_nac...
分类:
编程语言 时间:
2015-01-28 14:35:28
阅读次数:
236
接收缓冲区相对比较简单,其主要功能是接收发送方的数据并生成接收块、块排序、丢包判断和反馈、读事件通知等。以下是接收缓冲区的定义:class RUDPRecvBuffer{public: ... //来自网络中的数据 int32_t on_data(uint64_t seq, const uin...
分类:
编程语言 时间:
2015-01-28 14:31:38
阅读次数:
271
STL底层数据结构
1.vector 底层数据结构为数组 ,支持快速随机访问
2.list 底层数据结构为双向链表,支持快速增删
3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
4.stack 底层一般用list或deque实现,封闭头部即可,不用vector...
分类:
其他好文 时间:
2015-01-27 21:55:42
阅读次数:
200
netty的buffer引入了缓冲池。该缓冲池实现使用了jemalloc的思想。为了看懂这块代码学写了内容分配的知识。这里讲的内存分配是堆的内存分配,其他内容本文不会涉及。内存分配是面向虚拟内存的而言的,以页为单位进行管理的,页的大小一般为4kb,当在堆里创建一个对象时(小于4kb),会分配一个页,...
分类:
其他好文 时间:
2015-01-27 21:39:38
阅读次数:
227
condition 类:
作为一个示例,假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上执行 put 操作,则在有空间变得可用之前,线程将一直阻塞。我们喜欢在单独的等待
set 中保存 put 线程和 take 线程,这样就可以在缓冲区中的项或空间变得可用时利用最佳规划...
分类:
编程语言 时间:
2015-01-27 09:25:18
阅读次数:
149
io与nio区别:
io是面向流的, nio是面向缓冲区的(速度快)
io是线程阻塞的,nio是线程非阻塞的,所以在nio中一个单独的线程可以处理多个输入和输出通道(channel)的操作
服务端:
selector:
channel_1(key的属性为accept) —— 对应 socket_1
循环遍历key建立与客户端连接
>-返回key
channe...
分类:
其他好文 时间:
2015-01-27 01:56:00
阅读次数:
168
NSURLRequest 对象代表了一个url 加载请求,从某种程度上来说它是一个独立的协议和url体系。
一个NSURLRequest 必须包含 url 加载请求时的两个基本数据元素 :
加载时的url 实现url内容缓冲时所采用的缓冲策略。
NSURLRequest 设计的目的是通过添加提供访问自己指定协议属性方法的类别来支持附加协议。通过调用NSURLP...
分类:
移动开发 时间:
2015-01-27 00:38:58
阅读次数:
329