转载请注明出处: http://blog.csdn.net/luotuo44/article/details/38300965
如果你打开Libevent的一些文件,比如util.h文件。就会发现使用了很多宏定义,并根据一些宏定义而进行条件编译。这些宏定义往往来自event-config.h文件中。
如util.h文件的代码开始处:
#ifdef _EVENT_HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef _EVENT_HAVE_STDINT_H
#include <stdint.h>
#elif defined(_EVENT_HAVE_INTTYPES_H)
#include <inttypes.h>
#endif
其会根据是否定义了某个宏,而决定是否包含某个头文件。从宏的名字来看,其指明了是否有这个头文件。有时还会指明是否有某个函数。这样做的原因很简单,因为Libevent是跨平台的,必须得考虑到某些系统可能没有一些头文件或者函数。
event-config.h文件是一个很基础和重要的文件。在文

Libevent的event-config.h文件在编译前根据系统环境自动生成,记录了系统特性如可用的头文件、函数等。内容源于config.h.in,例如在Linux与Windows系统中定义不同宏。此文件确保跨平台兼容性,如定义__func__宏的使用,同时也反映编译选项,如多线程支持。

1201

被折叠的 条评论
为什么被折叠?



