This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: WINAPI definition
- To: Thomas Nichols <thomas dot nichols at mail dot com>
- Subject: Re: WINAPI definition
- From: Gunther Ebert <gunther dot ebert at ixos-leipzig dot de>
- Date: Wed, 29 Oct 1997 08:20:29 +0100
- Cc: gnu-win32 at cygnus dot com
- Organization: iXOS Anwendungs-Software GmbH
- References: <3.0.2.32.19971029001741.006a1a9c@messagebox.com>
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".