自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 libevent基础文件event-internal.h(struct event_base结构体)

该文件主要是定义了结构体strcut event_base,该结构体里面有许多成员是结构体,也在本文件定义,比如struct eventop,struct event_signal_map ,struct common_timeout_list,struct event_changelist,先介绍这些结构体,再介绍event_base。/** Structure to define the ba

2018-02-05 22:36:07 417

原创 libevent基础文件changelist-internal.h(struct event_change结构体)

changelist-internal.h定义了一个结构体struct event_change结构体。我们在调用backend's dispatch 函数之前可能会对一个event做修改,比如改它的事件类型,或者添加新的事件类型,甚至是添加或者删除event,libevent用struct event_change 结构体记录在调用backend's dispatch 函数之前一个更改的ev

2018-02-05 20:34:57 479

原创 libevent基础文件event_struct.h(struct event 结构体)

先明白几点,libevent用struct event结构体表示一个事件,事件可以是IO事件,信号时间,定时器超时事件。一个event由一个event_base管理。一个event_base有三条队列,一条用于链接它管理所有的event一条用于链接所有激活的event一条用于链接触发的IOevent一条用于链接触发的信号event还有一个最小堆用于管理超时事件。所以event结构体必然

2018-02-05 18:45:41 565

原创 libevent基础文件compat/sys/queue.h

这个文件实现了五种数据结构,都是用宏定义来实现。slist:简单链表list:结点比简单链表多了一个二级指针队列的头指针还声明了一个二级指针sqh_last保存队列中最后一个元素的next指针的地址,其目的是:当我们在队列的尾部插入数据时,就非常方便了,就不必从头指针遍历的最后一个结点,再把要插入的结点的地址复制给最后一个结点的next指针。因为*(head->sqh_last)即

2018-02-05 01:57:39 359

原创 libevent基础文件util.c

util.h定义了一些基本数据类型,类似这些:#define ev_uint32_t unsigned int#define ev_uint8_t unsigned char#define ev_off_t off_t#define ev_ssize_t ssize_t见名即能知意,这里不贴出。还定义了类型的大小限制,类似这些:#define EV_UINT

2018-02-05 01:46:29 308

转载 libevent基础文件minheap-internal.h(最小堆实现)

libevent中的timenout事件是使用最小堆来管理的,代码位于:minheap-internal.h.typedef struct min_heap//一个最小堆结构{ struct event** p;//指向一片连续的event指针的地址 unsigned n, a;//n队列元素的多少,a代表队列空间的大小.} min_heap_t;注释是我加

2018-02-05 01:28:06 476

原创 lievent基础文件util-internal.h

大多数evutil_开头的宏和函数都在这个文件里声明或者定义。我这里仅关注几个有意思的宏和函数。1、#define _EVUTIL_NIL_CONDITION(condition) do { \(void)sizeof(!(condition));  \} while(0)这个宏实际上什么事都没做。如果我们定义了一个没有使用的变量,编译器会报警告,为了消除警告,调用这个宏欺

2018-02-05 00:44:18 389

原创 libevent基础文件mm-internal.h(内存分配封装)

libevent并没有实现特别的内存分配,仅仅是给使用者提供了内存分配的接口,当我们没有设置内存分配函数时(也就是这几个全局函数指针为空,static void *(*_mm_malloc_fn)(size_t sz) = NULL;static void *(*_mm_realloc_fn)(void *p, size_t sz) = NULL;static void (*_mm_fre

2018-02-04 16:24:10 431

原创 libevent基础文件log.c(日志实现)

典型的日志实现步骤:1、声明几种日志等级(可以是enum类型,或者几个宏定义)libevent的日志等级定义在event.h中,如下(个人觉得放在log的头文件岂不是更好?):/** @name Log severities *//**@{*/#define EVENT_LOG_DEBUG 0#define EVENT_LOG_MSG 1#define EVENT_LOG

2018-02-04 15:59:31 739 1

原创 libevent基础文件strlcpy.c

strlcpy.c只是实现了字符串拷贝函数_event_strlcpy(char * dst,const char *src,size_t siz);在头文件中定义了个宏:#define strlcpy _event_strlcpy对应的头文件是:strlcpy-internal.h,内容如下:#ifndef _STRLCPY_INTERNAL_H_#define _STRLCP

2018-02-04 14:52:44 442

HI3519AV100最新SDK smaple

海思最新SDK 程序 版本V2.0.1.0 最新

2019-03-29

v4l2读取摄像头

v4l2读取摄像头,能在linux下编译,生成yuv文件,可以指定文件帧数

2018-01-30

RTP协议在嵌入式网络摄像机中的设计及实现.pdf

rtp,网络摄像头开发,描述了rtp推流,h264编码,v4l2视频流获取

2018-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除