代码之家  ›  专栏  ›  技术社区  ›  innisfree

使用以10.0.0格式定义版本号的宏

  •  1
  • innisfree  · 技术社区  · 6 年前

    我用Mathematica C头文件编译了一个C代码。Mathematica使用宏告诉您使用的是哪个版本。格式为

    #define WSMATHVERSION 10.0.0
    

    我更熟悉宏中的版本编号模式,

    //  BOOST_VERSION % 100 is the patch level
    //  BOOST_VERSION / 100 % 1000 is the minor version
    //  BOOST_VERSION / 100000 is the major version
    
    #define BOOST_VERSION 103900
    

    我喜欢这样,因为它更容易检查版本号是否大于特定版本。有没有一种规范的方式来使用Mathematica风格?我发现 too many decimal points in number 类型错误等。我使用的是C,但只有C++的解决方案可能也很有趣。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Taurre    6 年前

    在C中,预处理器条件只能由整数组成。因此,不幸的是,用WSMATHVERSION宏编写预处理器条件是不可能的。