使用以 10.0.0 形式定义版本号的宏
Posted
技术标签:
【中文标题】使用以 10.0.0 形式定义版本号的宏【英文标题】:Using macros that define version numbers in the form 10.0.0 【发布时间】:2018-09-29 14:51:58 【问题描述】:我用 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 还是 c++,请澄清他的答案可能不同。 使该值的内容合法的 C 语法的唯一方法是 stringify it。 @KamiKaze C;见编辑 Q 最好在mathematica.stackexchange.com问这个问题。 @Lundin 不确定,这是关于 C 预处理器宏而不是数学语言。 【参考方案1】:在 C 中,预处理器条件只能由整数组成。所以,很遗憾,用 WSMATHVERSION 宏编写预处理器条件是不可能的。
【讨论】:
以上是关于使用以 10.0.0 形式定义版本号的宏的主要内容,如果未能解决你的问题,请参考以下文章