Compilation constants
grauzone
none at example.net
Wed Nov 11 10:45:17 PST 2009
Phil Deets wrote:
> 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;
Or use import expressions and mixins, something like
mixin("SIZE="~import("config.txt"));
But actually, that's horrible.
> See, I need edit functionality :). s/just be just/just/
You can delete your posts to emulate editing...
More information about the Digitalmars-d-learn
mailing list