首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在编译时检查DMD版本?

如何在编译时检查DMD版本?
EN

Stack Overflow用户
提问于 2014-09-29 15:39:56
回答 1查看 342关注 0票数 4

我可以使用version(DMD){}测试DMD正在编译给定的代码,但是如何检查它的哪个版本?(2.66/2.65等)

更简单地说,我想检查@nogc修饰符是否存在,如果没有-定义一个虚拟修饰符。

我想出了一个解决办法:

代码语言:javascript
复制
static if(!__traits(compiles, ()@nogc{}))
{
    struct nogc;
}

但还有更好的方法吗?例如,甚至直接检查是否存在特定的修饰符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-29 15:42:43

您可以使用预定义的__VERSION__常量。

还请参阅std.compiler模块(特别是version_majorversion_minor ),以获得更容易使用它的方法。

然而,您的解决方法可能是一个更好的方法。它将允许代码正确工作,即使在发布版本之间编译时也是如此。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26103672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档