【问题标题】:Can I compile a piece of code in FreeBSD based on its versions我可以根据版本在 FreeBSD 中编译一段代码吗
【发布时间】:2018-08-10 14:06:44
【问题描述】:

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

if (__FreeBSD__8)

        abc();
else if (__FreeBSD__10)

        xyz();

目前我只能看到

 if ( __FreeBSD_) 

        do_something();

提前感谢您的回答

【问题讨论】:

    标签: c++ freebsd


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      找到了解决办法。

      我们可以这样做:

      #if (defined(__FreeBSD__) && (__FreeBSD__ == 8))
      
                 abc();
      #elif (defined(__FreeBSD__) && (__FreeBSD__ == 10))
      
      
                 xyz();
      

      【讨论】:

        猜你喜欢
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 2020-04-26
        • 2014-07-24
        • 2023-03-25
        • 1970-01-01
        • 2014-01-16
        • 1970-01-01
        相关资源
        最近更新 更多