What on earth is std.windows.d?

Georg Wrede georg.wrede at nospam.org
Tue Mar 7 05:33:46 PST 2006


Don Clugston wrote:
> Unfortunately, the preprocessor solution doesn't always work. Some 
> macros must be expanded, some must not be.
> For example, one file I've converted is littered with things like:
> 
> #define DAQmx_Val_Rising                      10280
> 
> It's never referenced elsewhere in the file. So, if you run it through a 
> preprocessor, it just disappears.
> It needs to be converted to:
> const DAQmx_Val_Rising = 10280;
> (Actually this one really should have been an enum).
> 
> Null defines are easy:
> #define ABC
> this always means ABC will only ever be used in a #ifdef statement, so 
> it should never appear in the file. Unfortunately, sometimes you find
> #define ABC 1
> even though the value of ABC is never used.
> It might be possible to do an initial pass through all header files, 
> trying to work out the purpose of each #define.
> It seems to be very easy to deal with the first 95% of cases; probably 
> the last 1% of pathological cases are ten times as difficult as 
> everything else combined.

80-20 is good. 95-5 would be excellent. 99-1 is more than anyone should 
reasonably ask for. 100-0 is just not worth the effort.

But at 95-5, the remaining 5% may often be quite obvious to the astute 
human reader, I hope.

Just as long as the 95% is a correct (but not necessarily the same as a 
human would do) translation, and the remaining 5% is clearly marked.



More information about the Digitalmars-d mailing list