www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - function pointers with different calling conventions

reply Lutger <lutger.blijdestijn gmail.com> writes:
Does anybody know the syntax to declare a function pointer with the 
windows calling convention?

DMD suggests the type of such pointers is int(Windows *)() for example, 
but this does not work.
Nov 01 2007
next sibling parent Regan Heath <regan netmail.co.nz> writes:
Lutger wrote:
 Does anybody know the syntax to declare a function pointer with the 
 windows calling convention?
 
 DMD suggests the type of such pointers is int(Windows *)() for example, 
 but this does not work.

Try: extern(Windows) int function() fPointer; writefln(typeof(fPointer)) will hopefully output "int(Windows *)()" I don't have a DMD handy to test it so this is a guess. Regan
Nov 01 2007
prev sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Lutger" <lutger.blijdestijn gmail.com> wrote in message 
news:fgccpu$3171$1 digitalmars.com...
 Does anybody know the syntax to declare a function pointer with the 
 windows calling convention?

 DMD suggests the type of such pointers is int(Windows *)() for example, 
 but this does not work.

I use: extern(Windows) alias int function() WinIntFunc; WinIntFunc f; It probably works the same as Regan's way..
Nov 01 2007
parent BCS <ao pathlink.com> writes:
Reply to Jarrett,

 "Lutger" <lutger.blijdestijn gmail.com> wrote in message
 news:fgccpu$3171$1 digitalmars.com...
 
 Does anybody know the syntax to declare a function pointer with the
 windows calling convention?
 
 DMD suggests the type of such pointers is int(Windows *)() for
 example, but this does not work.
 

extern(Windows) alias int function() WinIntFunc; WinIntFunc f; It probably works the same as Regan's way..

not exactly the same (I think) as Regan's also effects the linkage of the variable.
Nov 01 2007