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

Using macros that define version numbers in the form 10.0.0

我用 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++ 的解决方案也可能很有趣。

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