digitalmars.D.learn - Compile time definitions
- Brenton (14/16) Jul 05 2014 Is there a way to define a compile time constant/enum with dmd?
- bearophile (13/14) Jul 05 2014 In D compile-time constants are introduced using the "enum"
- Brenton (3/17) Jul 05 2014 Thanks bearophile, using mixin(import("myfilename.txt")) works
Is there a way to define a compile time constant/enum with dmd? For example, inserting the svn revision number into my code? In C... #include <stdio.h> #ifndef SOMETHING #define SOMETHING "bar" #endif int main() { printf("hello world: " SOMETHING " \n"); return 0; }gcc main.c && ./a.outhello world: bargcc -DSOMETHING=\"foo\" main.c && ./a.outhello world: foo How would you recommend I do something like this with D?
Jul 05 2014
Brenton:How would you recommend I do something like this with D?In D compile-time constants are introduced using the "enum" keyword. You can also use the "-version=..." compiler switch to compile your D code according to some version, that can be a number or identifier. In D there isn't the "-D" switch of gcc, so you can do something similar putting your string into a little textual file, and importing it inside the module using mixin(import("myfilename.txt")) statement plus the -Imypathname compiler switch. Bye, bearophile
Jul 05 2014
On Saturday, 5 July 2014 at 22:08:52 UTC, bearophile wrote:Brenton:Thanks bearophile, using mixin(import("myfilename.txt")) works great.How would you recommend I do something like this with D?In D compile-time constants are introduced using the "enum" keyword. You can also use the "-version=..." compiler switch to compile your D code according to some version, that can be a number or identifier. In D there isn't the "-D" switch of gcc, so you can do something similar putting your string into a little textual file, and importing it inside the module using mixin(import("myfilename.txt")) statement plus the -Imypathname compiler switch. Bye, bearophile
Jul 05 2014