摘要:
针对epoll api的两种触发模式,lt和et,仿照一些例子写了代码进行实验。 Makefile文件: 以上程序有个问题,就是在端口被占用时候,因为bind失败,会assert失败然后core dump. 在重复测试时候,可以换个端口。 首先,注释掉et,使用lt: 运行 ./epoll_test 阅读全文
该文被密码保护。 阅读全文
摘要:
今天,为了安装RabbitMQ,需要安装Erlang,中间遇到了一些坑,记录下来。 1. 下载Erlang安装包 http://www.erlang.org/downloads http://erlang.org/download/otp_src_18.3.tar.gz 2. otp_src_18. 阅读全文
摘要:
首先,中位数问题可以归结为求 K=n/2的 第K小元素,并无明显区别。 第一种方法,用MaxHeap,大小为K的大顶堆,能够求出最小的K的元素,复杂度为O(n*logK). 当K较大时,复杂度会较高。其实只需要求出第K小,而不是全部前K的序列,可以有更优化的方式。(大顶堆的方法就不贴代码了) 第二种 阅读全文
摘要:
参考了网上的一些例子,实验了基于bufferevent的开发。 首先是服务端: 编译命令: 2016.09.28 我把server和client编译的命令,整理成了新的Makefile文件: 然后是客户端: 编译命令: 运行服务器命令: 运行客户端命令: 多次交互之后的两边输出结果为: 如果先关闭客 阅读全文
摘要:
这个。。那个。。后来发现。。直接用jumbo就可以安装libevent。不过,学习一些automake的知识还是有好处的。 03机器也安装了。 这几天在阅读libevent源码,发现参考资料是基于libevent-2.1的版本,所以就去官网下载了2.1的版本: http://libevent.org 阅读全文
摘要:
https://leetcode.com/problems/top-k-frequent-elements/ 阅读全文
摘要:
1. 为什么宏定义里经常出现 do {...} while (0) Answer: 用一句话概括就是:使用do{...}while(0)构造后的宏定义不会受到大括号、分号等的影响,总是会按你期望的方式调用运行。 比如 #define foo(x) i++; i-- 如下调用 foo(wolf); 就 阅读全文
摘要:
针对class,虚函数等情况写了一些代码测试。 运行结果: 总结如下: A: 空类占用1字节 B: 成员函数不占空间,所以仍然1字节 C: private变量仍然占用空间,int为4 D: 虚函数(表)占用1个long的大小,为8字节 E:变量排在虚函数表前面,所以要对齐,一共16字节 F: 没有成 阅读全文