[libevent.manual] libevent基础知识

在线手册



• 官方网站:http://libevent.org/

• 官方手册:http://www.wangafu.net/~nickm/libevent-book/

• 官方下载:http://sourceforge.net/projects/levent/files/libevent/

• 在线手册:http://www.monkey.org/~provos/libevent/doxygen-2.0.1/index.html

• 百度百科:http://baike.baidu.com/link?url=cAxwbS2-agM4LSIYDQS1tAFxYrkLjju-6gcARq2iG6keI6MP6_WZpPCvZWKgAJbFnHNL40u5yYz6qhb71RQg4K

• 维基百科:https://en.wikipedia.org/wiki/Libevent

编译和安装(Linux : CentOS 7.0)



? 下载并解压libevent压缩包

? chmod 777 ./configure

? ./configure -prefix=/usr

? make

? make install

? 检测libevent是否安装成功:ls -al /usr/lib | grep libevent

测试示例


1. 获取版本信息

// test.cpp#include <stdio.h>
#include <event.h>

int main(int argc, char ** argv)
{
    const char *cszVersion = event_get_version();
    printf("Version : %s\n", cszVersion);
    return 0;
}

g++ -o test.o -c test.cpp

g++ -levent -o test test.o

2. 简单触发器

// test.cpp#include <stdio.h>
#include <event.h>
#include <iostream>

void OnTime(evutil_socket_t fd, short event, void *arg)
{
    std::cout << "OnTime Triggers!" << std::endl;

    struct timeval tv;
    tv.tv_sec  = 1;
    tv.tv_usec = 0;

    event_add((struct event*)arg, &tv);
}

int main(int argc, char ** argv)
{
    struct timeval tv;
    struct event   evTime;

    tv.tv_sec  = 1;
    tv.tv_usec = 0;

    event_init();
    evtimer_set(&evTime, OnTime, &evTime);
    event_add(&evTime, &tv);
    event_dispatch();

    return 0;
}

g++ -o test.o -c test.cpp

g++ -levent -o test test.o

时间: 2024-10-19 11:40:09

[libevent.manual] libevent基础知识的相关文章

nginx 基础知识解析

工作架构模型是 nginx做前端反向代理处理请求,后端为lamp(php-fpm也为代理,代理处理动态网页请求,此外我们还可以安装Xcache为php-fpm处理动态网页加速)或者lnmp 基础知识理解 1.代理基础知识 代理:就是客户端请求一个互联网资源时,他没有能力到达真正的服务器,而是通过委托一个能够在互联网上取得各种资源的专业服务器帮他完成它想要请求的资源,并把结果返回给客户端的服务器叫做代理服务器 代理工作原理 分两个阶段,一是客户端请求到代理,代理到服务器取回资源到代理,然后代理服务

Ant学习-001-ant 基础知识及windows环境配置

一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.TestNG等搭建持续集成测试开发环境,从而高效.高质量的构建产品. Ant 有以下一些优点: 跨平台,可移植.Ant 是 Java 语言编写的,所以有很好的跨平台性和可移植性,无论是在 windows.Linux,还是 mac. 操作简单. Ant 是由一个内置任务和可选任务组成的,运行时需要一个构

驱动实现led,pwm和中断基础知识

2015.4.8星期三 晴天 今天老师讲的内容是内核编写led和pwm驱动,实现花样灯和放歌的功能.理解应用和驱动的对接,最后自己实现了在放歌的时候根据歌曲的节奏亮灭一个小灯,应为两个独立的驱动都已经写好,想要组合其实很简单,只要在主调函数里面打开两个驱动的设备节点,分别进行操作并有机的组合在一起就行了.最后老师复习了中断的一些基础知识,总结一下: 异常处理:当异常发送时:nand flash 拷贝到sdram中运行,这是和nor flash 的区别之一 1.拷贝cpsr到spsr2.设置适当的

linux云自动化运维基础知识11(ip网络 )

####1.ip基础知识####1.ipv42进制32位-----10进制 172.25.0.10/255.255.255.0172.25.0.10:ip地址255.255.255.0:子网掩码子网掩码255位对应的ip位为网络位子网掩码0对应的ip位为主机位 ####2.配置ip####<<图形化>>1.图形界面nm-connection-editor 2.文本化图形nmtui <<命令>>ifconfig 网卡 ip netmask    ##临时设定

第二天linux基础知识

第二天linux基础知识 1:终端(用户与主机交互必然用到的设备) 物理终端:直接接入本机的设备 虚拟终端:以软件的方法虚拟实现的终端. 图形终端:属于虚拟终端 模拟终端:图形打开的命令行或基于远程登录协议打开的终端. 查看当前终端设备命令:tty 2:交互式接口(启动终端后,在终端附加的一个交互式程序) GUI:Graphic User Interface CLI:Command Line Interface 3:SHELL(shell是linux系统的用户界面,提供了用户与内核进行交互操作的

Linux基础知识&mdash;&mdash;shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各个方面来总结并记录一下这个新型.看似神秘的数据库使用过程.本文是这个系列的开篇,主要介绍一些MongoDB数据库的基础知识.安装过程.基础使用等方面. MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型

Bash的基础知识man手册

Bash的基础知识man手册 由于基于Android类设备的渗透测试都是通过各类终端实现.所以掌握Shell相关操作就显得尤为重要.Bash是一个为GNU计划编写的Unix Shell本文选自基于Android设备的Kali Linux渗透测试教程. 它是许多Linux平台内定Shell,还有许多传统UNIX上用的Shell,如tcsh.csh.ash.bsh.ksh等.Bash是大多数Linux系统上默认的Shell,本章将介绍Bash的基础知识. 2.1  man手册 Linux man中的

[terry笔记]data guard基础知识

如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时,同步,异步多种形式.Data Gurad 常用于异地容灾和小企业的高可用性方案,虽然可以在Standby 机器上执行只读查询,从而分散Primary 苏菊哭的性能压力,但是Data Gurad 决不是性能解决方案. 在Data Gurad 环境中,至少有两个数据库,一个处于Open 状态对外提供服