Compilation constants

Phil Deets pjdeets2 at gmail.com
Wed Nov 11 10:36:01 PST 2009


On Wed, 11 Nov 2009 13:34:32 -0500, Phil Deets <pjdeets2 at gmail.com> wrote:

> On Wed, 11 Nov 2009 13:30:17 -0500, Phil Deets <pjdeets2 at gmail.com>  
> wrote:
>
>> On Wed, 11 Nov 2009 08:50:48 -0500, bearophile  
>> <bearophileHUGS at lycos.com> wrote:
>>
>>> In a C program I have a numeric constant SIZE (that is in [1,32]),  
>>> that I can define when I compile the code, like this:
>>> gcc -DSIZE=14 ...
>>>
>>> How can I do the same thing in D? The solution I have found is to put  
>>> in the D code:
>>> version(B1) const SIZE = 1;
>>> version(B2) const SIZE = 2;
>>> version(B3) const SIZE = 3;
>>> version(B4) const SIZE = 4;
>>> ...
>>> version(B14) const SIZE = 14;
>>> ...
>>>
>>> And then compile the D program with:
>>> dmd -version=B14 ...
>>> Or:
>>> ldc -d-version=B14 ...
>>>
>>> Do you know nicer ways to do this in D? (if there are no nicer ways,  
>>> is this simple feature worth adding to D?)
>>>
>>> Thank you, bye,
>>> bearophile
>>
>> What I would probably do is generate a simple .d file right before you  
>> compile.
>
> I'm used to using forums where I can post, look at what I wrote, then  
> edit if necessary. To continue my thought, the file could be called  
> constants.d and it could contain just be just one line:
>
> enum SIZE=14;

See, I need edit functionality :). s/just be just/just/


More information about the Digitalmars-d-learn mailing list