This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: WINAPI definition


Thomas Nichols wrote:
> 
> Thanks to everyone who's offered suggestions so far - much appreciated.
> I've resolved the "cannot execute binary file" problem, it doesn't happen
> under win95b command.com, only under 4DOS (v6). Very odd.
> 
> Now a new question: I'm trying to get existing (third-party) Win32 source
> to compile, and the following line breaks:
> 
>         static BOOL (WINAPI *Ctl3dRegister)(HINSTANCE);

Change it to

static BOOL WINAPI (*Ctl3dRegister)(HINSTANCE);

I've just checked it, this makes cc1plus happy and cc1plus will
generate the proper code to call a _stdcall function (it doesn't
clean up the parameter stack).

By the way, cc1plus doesn't like any character between the return
type and the stdcall modifier. In other words, if you have a 
function which returns a pointer your function pointer declaration
must be

void WINAPI *(*foo)(params);

(not 'void * WINAPI (*foo)(params);')

Gunther


-- 

Gunther Ebert
iXOS Anwendungs-Software GmbH
Angerstrasse 40-42
D-04177 Leipzig

Phone : +49 341 48503-0
Fax   : +49 341 48503-99
E-mail: mailto:gunther.ebert@ixos-leipzig.de
www   : http://www.ixos-leipzig.de
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]