- 博客(18)
- 资源 (2)
- 收藏
- 关注
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl B 斜体 Ctrl I 引用 Ctrl
2015-02-06 08:09:06
573
原创 UNP笔记(2)——基本套接字编程
二、socket基本函数-功能类1.socket函数#include int socket (int family, int type, int protocol);进行socket通信的第一步就是调用socket函数。需要为socket函数指明协议族(family)、类型(type)和协议(protocol)。这里需要注意的是,type和protocol需要正确组合,有一些组合
2014-01-28 22:32:35
1299
原创 UNP笔记(1)——基本结构体和工具函数
一、socket相关结构体socket相关的结构体主要是存放地址的一些结构体,例如sockaddr_in(最常用)、sockaddr_in6(IPv6地址结构体)、sockaddr(socket的函数里面都用这个当参数,其他结构体强转过来)和sockaddr_storage。1.IPv4套接字地址结构体 #include struct sockaddr_in {
2014-01-23 21:43:23
1649
原创 结构体字节对齐笔记(Mac OS 10.9 中测试)
前言结构体字节对齐相关的文章网络上有很多,看了其中几篇写的不错的之后,做了一点总结,仅供自己日后回忆,请网友忽略。看过众多关于字节对齐的博文中,写的我认为比较好的是实验室苏同学(ACM大神)写的http://c4fun.cn/blog/2014/01/11/struct-alignment/,本文有部分内容摘自这篇博客。另外Wiki上面的字节对齐讲的非常好,虽然是英文的。字节对齐的目的很简
2014-01-21 21:23:12
1946
原创 在Mac os 10.9(Mavericks)中安装NS-2.35附自己制作的patch[修正一个错误]
前言在Mac OS 10.9这个最新的系统下安装NS-2.35存在一些小困难,相信困扰到一些同学了。网上有针对10.6/7的patch,但是在OS 10.9上,并且更新了新的Xcode后,会因为编译器的原因导致一些错误。本人看了很多老外也在stack overflow上求助。方法和步骤我一番折腾之后,修复了所有安装过程出现的问题,为了下次安装可以省事,就干脆直接制作了一个patch,方便他人安装。
2014-01-12 06:45:36
6746
8
原创 虚函数的一些特性
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。#include using namespace std;class AA{public: AA(){ cout<<"AA"<<endl; }}
2014-01-12 02:52:28
1736
原创 [LeetCode]LRUcache题解(不使用STL容器)
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set.get(key) - Get the value (will always be positive) of the key if
2013-12-13 17:09:16
987
原创 VC++函数调用过程汇编分析(基于vs2012)
本文将在VS2012环境下对函数调用过程的汇编代码进行分析。分析不到位或者存在错误的地方请批评指正,请与作者联系。我们对下面最简单的这种函数调用进行分析。int test(int a,int b){ int c; c = a + b;return c;}
2013-12-09 16:08:12
1667
转载 图解TCP状态机
原文地址:http://blog.youkuaiyun.com/zhangskd/article/details/8493804States TCP includes 11 states, they are:LISTENSYN_SENTSYN_RECVESTABLISHEDFIN_WAIT1CLOSE_WAITFIN_WAIT2
2013-11-30 18:59:45
1376
原创 使用GNUPLOT画出好看的数据曲线
下面这两张是我用gnuplot画的两个数据图,第一个图是曲线图,表示不同协议吞吐量的一个对比。第二个图横向对比的柱状图。个人觉得还是满精美的。本人也是从PDQ这篇论文的一个作者的主要上看到的这个画图方法,并做了一些改进。下面直接将画图的将本放出来。GNUPLOT脚本我也不作解释了,因为我也只是会用而已。主要是利用了cairo-pdf这个库。第一个图的脚本:这个脚本输出的是pdf文件
2013-11-30 18:51:16
4058
原创 802.3Qau QCN算法流程分析
QCN算法由两部分组成,一部分在拥塞点(congestion point)上(CP),另一部分在速度限制器(rate limiter)上或者叫反应点(reaction point)上。CP上面的算法:CP的目标是维持缓存占用在一个期望的值desired operating point 。CP根据一定的概率对进入的包进行采样,并计算出。 /表示的是进入的包和出去的包
2013-11-30 18:38:11
2115
原创 Linux内核TCP收到ACK的处理
TCP层每次收到一个ACK的报文就会进入这个函数做决策。先直接上注释的代码:static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag){ struct inet_connection_sock *icsk = inet_csk(sk); struct tcp_sock *tp = tcp_sk(sk); //
2013-11-30 18:33:03
1895
原创 [LeetCode] 逆波兰表达式求值
逆波兰表达式求值#include #include #include #include #include #include using namespace std;int evalRPN(vector &tokens) { stack _stack; stringstream result_s_str; string result_str; int result =
2013-11-28 17:00:06
1689
原创 希尔排序和优化
希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。希尔排序的具体细节:希尔排序的实现如下:shellsort_original是最直观的实现,代码不够精简。shellsort_i
2013-11-28 10:04:20
1228
原创 union关键字和取类成员函数地址的方法
union关键字union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{ char character; int number; char *str;
2013-11-26 10:24:50
1189
原创 基于Thunk技术的Windows Timer的封装
由于最近项目是要开发一个BHO浏览器插件,我们需要使用定时器来轮询页面的变化。实际上,就是让定时器能够访问成员变量,或者说使定时器成为成员函数。但是,定时器调用的是一个回调函数(CALLBACK),回调函数是一个系统调用的函数,它被封装在类里面只能以static的方式定义。这种定义方式和我们的项目要求不符合,因为static函数只能访问static变量。所以我用Thunk技术对定时器回调进行了封装。
2013-11-23 02:14:16
1126
原创 堆和堆排序与封装
堆是一个完全二叉树说着近似完全的二叉树。堆主要满足两个性质:1.父节点一定小于(大于,大根堆)两个子节点的键值。2.每个子节点都是一个二叉堆。一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。1015562
2013-11-10 08:52:09
831
原创 基本排序算法的练习
插入排序:#include "iostream"using namespace std;int main(int argc, char *args[]){#define KLEN 10 int k[KLEN]={1,5,7,2,4,8,2,9,3,6}; for (int i=0;i KLEN;i++) { coutk
2013-11-06 09:11:37
886
MacOS10.9 Ns-2.35安装补丁
2014-01-12
dopd-7 pdf打印机
2011-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人