在D中编译发布版本的代码

JRM*_*JRM 7 d

D(D2)中是否有任何机制强制在发布版本中编译出代码?

在C中,你可能有类似的东西

#ifndef NDEBUG
/*Something that will only run in a debug build*/
#endif
Run Code Online (Sandbox Code Playgroud)

我知道D有

debug(mymodule) {
   //Do something
}
Run Code Online (Sandbox Code Playgroud)

但这需要用户为每个模块传递-debug以启用它.

我正在寻找一种全局机制,它将始终在正常构建中运行代码,但在传递-release标志时将其编译出来.我知道一些内置函数具有这种能力(例如断言),但是用户代码有没有办法做到这一点?

And*_*scu 15

有一个全球性的调试概念.写吧:

debug {
    ... code ...
}
Run Code Online (Sandbox Code Playgroud)