[fpc-pascal] Question about functions returning a string

Ewald ewald at yellowcouch.org
Fri Nov 28 21:54:58 CET 2014


Hi,

Take the following function prototype (in {$mode objfpc}{$H+} for the
record):

    Function SomeFunction(const Data: PChar; const Len: LongWord):
String; cdecl; public;

Looking at the dissasembly of this function, I see that is actually has
three arguments. It looks more like this from an assembler perspective:

    Function SomeFunction(HiddenArgument: Pointer; const Data: PChar;
const Len: LongWord): String; cdecl; public;

Which is, well, quite fascinating really. What is it doing there? I
suspect it has something to do with the result type of the function,
being a string?

Can anybody shed some light on this?

-- 
Ewald





More information about the fpc-pascal mailing list