Re: [cc65] function pointer, fastcall

From: Greg King <greg.king41verizon.net>
Date: 2008-08-28 03:58:04
From: "Christian Groessler"; on Saturday, August 16, 2008; 04:23 PM -0400
>
> On Sat, 16 Aug 2008, Ullrich von Bassewitz wrote:
>
> > is actually a function returning char*, not a pointer to a function
> > returning char.  Using parens
> >
> >         char (*f)(char);
> >
> > you have a pointer to a function taking char, and returning char.
> > Now, just add fastcall
> >
> >         char fastcall (*f)(char);
> >
> > and you have a pointer to a fastcall function.
>
> I don't know what the C standard says, but I would find
>
>       char (fastcall *f)(char);
>
> more intuitive.  I seem to remember when working with Watcom
> and 16-bit DOS code, I was able to write "char (far *f)(char);".

"far" and "fastcall" qualify different kinds of objects.  The first one
describes an address -- in this case, a pointer.  The second one describes a
function -- what it wants to see after it starts running.  That is why "far"
and "fastcall" should be put in different places in a function-pointer's
declaration.

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Thu Aug 28 05:13:53 2008

This archive was generated by hypermail 2.1.8 : 2008-08-28 05:13:55 CEST