Conditional Compilation for Specific Windows
Jonathan Marler via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jan 7 11:48:15 PST 2015
On Wednesday, 7 January 2015 at 18:50:40 UTC, Jacob Carlborg
wrote:
> On 2015-01-07 19:27, Jonathan Marler wrote:
>> I'm looking at the Windows multicast API. It has different
>> socket
>> options depending on if you are on Windows XP or Windows Vista
>> (and
>> later). Is there a way to tell at runtime which version of
>> windows you
>> are on? Note: I'm specifically talking about runtime because I
>> want the
>> same binary to run on all windows versions so I have to
>> support both and
>> determine which one I am running on at runtime.
>
> Use the regular system API's as you would in C. Should be easy
> to find if you search the web.
I've looked up the windows version helper functions
(http://msdn.microsoft.com/en-us/library/windows/desktop/dn424972(v=vs.85).aspx).
The problem is that these functions are not defined in DMD's
user32.lib. I could use the operating system's user32.lib but it
is in COFF format, so I would have to convert my D object files
to COFF and then compile using MSVC or GNU GCC for windows (or I
could try converting the OS user32.lib to OMF). Or, I could add
the functions to DMD's user32.lib but as far as I know this is a
private binary managed by Digital Mars that I can't contribute
to? Am I wrong? Does anyone else have a solution or an idea on
this?
Note: I've wanted to use other windows function in the past that
were missing from DMD's user32.lib file. A solution to solve
this for multiple functions would be ideal, thanks.
More information about the Digitalmars-d-learn
mailing list