【发布时间】:2018-08-10 14:06:44
【问题描述】:
我想在 C++ 中使用类似的方式:
if (__FreeBSD__8)
abc();
else if (__FreeBSD__10)
xyz();
目前我只能看到
if ( __FreeBSD_)
do_something();
提前感谢您的回答
【问题讨论】:
我想在 C++ 中使用类似的方式:
if (__FreeBSD__8)
abc();
else if (__FreeBSD__10)
xyz();
目前我只能看到
if ( __FreeBSD_)
do_something();
提前感谢您的回答
【问题讨论】:
其实the proper way就是包含<sys/param.h>并检查__FreeBSD_version定义。它为您提供非常准确的版本值,因此您甚至可以检查特定功能的存在。 FreeBSD 版本和功能列表is here。
【讨论】:
找到了解决办法。
我们可以这样做:
#if (defined(__FreeBSD__) && (__FreeBSD__ == 8))
abc();
#elif (defined(__FreeBSD__) && (__FreeBSD__ == 10))
xyz();
【讨论】: