我可以根据其版本在FreeBSD中编译一段代码

时间:2018-03-02 10:58:31

标签: c++ freebsd

我想在C ++中使用类似的方法:

if (__FreeBSD__8)

        abc();
else if (__FreeBSD__10)

        xyz();

目前我只能看到

 if ( __FreeBSD_) 

        do_something();

提前感谢您的回答

2 个答案:

答案 0 :(得分:2)

实际上,the proper way包含<sys/param.h>并检查__FreeBSD_version。它为您提供非常准确的版本值,因此您甚至可以检查特定功能的存在。 FreeBSD版本和功能列表is here

答案 1 :(得分:0)

找到了解决方案。

我们可以这样做:

#if (defined(__FreeBSD__) && (__FreeBSD__ == 8))

           abc();
#elif (defined(__FreeBSD__) && (__FreeBSD__ == 10))


           xyz();