d从另一文件导入版本符
原文
我用版本
//config.d
version = USE_MY_ASSERT;
void MY_ASSERT(bool expr) {...}
//library.d
import config;
version (USE_MY_ASSERT) {} else {
void MY_ASSERT(bool expr) {...}
}
然而,说标识符
冲突了.
你可试试插件版本
:
// file: 'versions'
version = x;
//插件:
mixin (import ("versions"));
version (x) { /* ... */ }
如果需要全局
定义版本,可用命令行选项:-version=MyVersionA -version=MyVersionB ...
.
如果想在源码
中定义版本
,可用enums + static if
:
// versions.d
module versions;
enum MyVersionA = true;
enum MyVersionB = true;
// program.d
import versions;
static if (MyVersionA) {
...
} else {
...
}
//等待.