gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:49:34 24 4
gpt4 key购买 nike

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

更简洁地说,我想检查 @nogc修饰符存在,
如果不是 - 定义一个虚拟的。

我想出了一个解决方法:

static if(!__traits(compiles, ()@nogc{}))
{
struct nogc;
}

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

最佳答案

您可以使用预定义的 __VERSION__持续的。

另见std.compiler模块( version_majorversion_minor ,特别是)以获得更简单的使用方法。

但是,您的解决方法可能是更好的方法。即使对于发布版本之间的编译器构建,它也将允许代码正常工作。

关于version - 如何在编译时检查 DMD 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com