13.4.区分不同的操作系统, 以及其版本

有些代码需要根据运行在哪个版本的 FreeBSD Unix 下进行修改或有条件地编译。 区分 FreeBSD 版本的首选方法是在 sys/param.h 中定义的 __FreeBSD_version__FreeBSD__ 宏。 如果这个文件没有被包含,请添加代码,

#include <sys/param.h>

.c 文件的适当位置。

__FreeBSD__ 在所有版本的 FreeBSD 中都被定义为其主要版本号。例如,在 FreeBSD 9.x 中,__FreeBSD__ 被定义为 9。

#if __FreeBSD__ >= 9
#  if __FreeBSD_version >= 901000
	 /* 9.1+ release specific code here */
#  endif
#endif

完整的 __FreeBSD_version 值列表见 __FreeBSD_version 值

最后更新于

FreeBSD 中文社区