On Sat, 23 Jul 2011 23:35:39 -0400, Nick Sabalausky <[email protected]> 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):
------------------------------
does this work?
private void fnImpl(...)
{
// code here
}
version(Windows)
{
extern(Windows) fn(...) {fnImpl();}
}
else
{
extern(C) fn(...) {fnImpl();}
}
-Steve