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

问题描述 投票:0回答:2

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

if (__FreeBSD__8)

        abc();
else if (__FreeBSD__10)

        xyz();

目前我只能看到

 if ( __FreeBSD_) 

        do_something();

在此先感谢您的回答

c++ freebsd
2个回答
2
投票

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


0
投票

找到了解决方案。

我们可以这样做:

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

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


           xyz();
© www.soinside.com 2019 - 2024. All rights reserved.