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 {
    ...
}
//等待.
posted @   zjh6  阅读(12)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示