2015年11月11日

按照自己的理解实现比特交换协议(alternating-bit protocol)

摘要: 一开始的思路是想写两个程序的,发送端和接收端。但是后来想了下,因为是模拟的,所以不用这么麻烦,直接自己定制场景(比如说丢包阿,包出错阿,超时之类的)。基本上是根据上图所写的,一个函数发包,一个函数接包(比如上图的wait_for_ack0),在这个发包函数里定制场景,在接包函数里处理场景。说到处理场... 阅读全文

posted @ 2015-11-11 21:49 fusae 阅读(4277) 评论(0) 推荐(1) 编辑

2015年10月27日

linux利用ShadowSocks搭梯子

摘要: 首先下载个ShadowSocks代理客户端,有很多种实现,这里我选择的是gui的,命令行的有点麻烦。给出下载地址:https://github.com/shadowsocks/shadowsocks-qt5再根据这个网页:https://github.com/shadowsocks/shadowso... 阅读全文

posted @ 2015-10-27 23:38 fusae 阅读(110) 评论(0) 推荐(0) 编辑

2015年10月22日

fedora下python3 安装tkinter和pygame

摘要: root 下用 “yum search tkinter”,如下图所示:然后再根据系统选择安装就好了。tkinter安装完毕。接下来是安装pygame在fedora的python3上,我的是python3.4。首先下载依赖:sudo yum install python3 python3-tools ... 阅读全文

posted @ 2015-10-22 21:52 fusae 阅读(4355) 评论(0) 推荐(0) 编辑

2015年5月2日

关于C++引用的一些注意点

摘要: C++的引用首先跟指针的最大区别就是引用不是一个对象,而指针是一个对象;其次引用在其定义时就要初始化,而指针可以不用。int val = 42;int &rval = val;此时rval就绑定了val,其实就是rval就是val的一个别名。你修改了两个其中的一个,其值都会改变。因为引用... 阅读全文

posted @ 2015-05-02 13:24 fusae 阅读(2304) 评论(4) 推荐(3) 编辑

2015年2月11日

《APUE》第七章笔记

摘要: 这一章主要是要解决这么几个问题:当执行程序时,main函数是如何被调用的?main函数的原型是:int main(int argc, char *argv[]);其中argc是命令个数,argv则是字符指针,指向字符串(命令)。当内核执行一个C程序的时候,是由一个特别的起始例程(exex函数族的一个... 阅读全文

posted @ 2015-02-11 13:14 fusae 阅读(296) 评论(0) 推荐(0) 编辑

插入排序算法的一种实现

摘要: 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向... 阅读全文

posted @ 2015-02-11 07:42 fusae 阅读(202) 评论(0) 推荐(0) 编辑

2015年2月7日

《APUE》第6章练习1

摘要: 问题:编写一个程序,它调用uname并输出utsname结构中的所有字段,并将输出与uname(1)命令的输出结构做比较。我本来以为utsname结构也跟passwd结构一样,也有那三个函数来获取整个结构的内容,但是看了头文件后才发现,头文件里面除了结构体的定义就只有这个uname函数了。我用逐项输... 阅读全文

posted @ 2015-02-07 12:03 fusae 阅读(217) 评论(0) 推荐(0) 编辑

《APUE》第6章笔记

摘要: 这一章主要介绍了口令文件和组文件的结构和一些围绕这些结构的函数。口令文件即passwd就是在/etc/passwd中可以查阅。其结构是:上图四个平台能支持的就用黑点表示。因为加密口令这一项放在passwd这个人人可读的文件中,可能会有安全问题。所以现在的Linux中的加密口令都是放在/etc/sha... 阅读全文

posted @ 2015-02-07 10:50 fusae 阅读(231) 评论(0) 推荐(0) 编辑

2015年2月5日

《APUE》第五章练习1

摘要: 题目:用setvbuf实现setbuf。这两个函数都是改变流的缓冲模式的。函数原型如下:#include void setbuf(FILE *fp, char *buf);void setvbuf(FILE *fp, char *buf, int mode, size_t size);毫无疑问,se... 阅读全文

posted @ 2015-02-05 13:40 fusae 阅读(350) 评论(0) 推荐(0) 编辑

《APUE》第五章笔记

摘要: 第五章具体介绍了标准I/O库的各种细节,要是一一列出来,有费精力且可能列不全,故只讲平常多用到的。标准输入输出是由一大批函数组成的。要记住,标准输入输出是有缓冲的,就是当缓冲区的数据满了的时候,才会调用read和write函数。而在第三章的时候,是马上调用read和write函数的。缓冲分为3种,全... 阅读全文

posted @ 2015-02-05 12:55 fusae 阅读(332) 评论(0) 推荐(0) 编辑

导航