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