一 libevent简介
libevent是一个支持Windows、linux和bsd等平台的网络事件驱动程序库。它支持多种I/O服用机制,按照优先级从高到低依次为:evport、kqueue、epoll、devpoll、rtsig、poll、select。它可根据操作系统,按照优先级从高到底自主选择驱动。
用户可以通过http://www.monkey.org/~provos/libevent/来获取libevent的源码、libevent出现的背景、以及其他一些详细资料。
继续阅读 »
OBJ文件格式分析工具: objdump, nm,ar
首先简要阐述关于gcc、glibc和 binutils模块之间的关系
一、关于gcc、glibc和binutils模块之间的关系
继续阅读 »
今天同事问我, 如何判断一个.so是否是debug编译的.
我记得以前自己是用file来查看一个.so, 根据是否包含”not stripped”来判断该.so是否是debug编译的, 于是就没做实验就回答.
然而, stripped/not stripped并不是debug/release编译的判断标准. 我对debug和release的.so运行file后, 得出几乎相同的输出, 都是not stripped. 所以我算是误导同事了.
继续阅读 »
用wget指令直接下载libevent:# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
然后,在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;
详细的方法如下:
继续阅读 »
网络课的project 1能用到的资料,程序结构比较清晰,转来学习一下
什么是异步通讯?
就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。
继续阅读 »
这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,因为我们通常写的一些简单的程序都是顺序执行的,而异步编程将程序的执行顺序打乱了,有些代码什么情况下执行往往不是太清晰,因此也使得编程的复杂度大大增加。
继续阅读 »
近期评论