[fpc-pascal] What's in Hello World

Michael Van Canneyt michael at freepascal.org
Sun Jan 7 20:33:23 CET 2024



On Sun, 7 Jan 2024, Sven Barth via fpc-pascal wrote:

>>>
>>> - FPC compiled as is: 388976 B
>>> - FPC compiled with full smartlinking: 55920 B
>>> - FPC compiled with C linkage: 388760 B
>>> - FPC compiled with full smartlinking and C linkage: 56792 B
>>
>> Maybe it is a good idea to add these numbers to the above WIKI page, 
>> to quantify
>> the discussion and to illustrate what the effect is of various options.
>
> Probably... 🤷‍♀️
>
> And just for the fun of it, the size if the RTL is compiled into a 
> dynamic package and that is used:
>
> - no smartlinking: 15784 B
> - with smartlinking: 15608 B
>
> With the librtl.so having a size of 649912 B which will ammortize itself 
> if multiple applications use dynamic packages.

Nice result. Smaller than a C program :-)

>
>> I think we should also explain why linking to C has almost no effect 
>> on actual binary size.
>
> That's mainly because the functions that differ between FPC_USE_LIBC and 
> not are rather slim syscalls anyway, so the main bunch of Pascal code is 
> still the same in both cases.

I know this, but most likely users will not realize this... :-)

Michael.


More information about the fpc-pascal mailing list