Versioned extern?

Brad Roberts braddr at puremagic.com
Sat Jul 23 20:47:54 PDT 2011


On Saturday, July 23, 2011 8:35:39 PM, Nick Sabalausky wrote:
> Is there a way to have a section of code be extern(C) on one OS and 
> extern(Windows) on another OS, without resorting making the code in question 
> a mixin?
> 
> These doesn't appear to work:
> 
> ------------------------------
> version(Windows)
> {
>     enum callingConvention = "Windows";
> }
> else
> {
>     enum callingConvention = "C";
> }
> 
> extern(mixin(callingConvention ))
> {
>     /+ ...code here... +/
> }
> ------------------------------
> version(Windows)
> {
>     extern(Windows):
> }
> else
> {
>     extern(C):
> }
> 
> /+ ...code here... +/
> 
> extern(D):
> ------------------------------

That specific pair of extern types with that specific set of versions 
--> extern(System)


More information about the Digitalmars-d-learn mailing list