Re: C23 thoughts and opinions

Liste des GroupesRevenir à l c 
Sujet : Re: C23 thoughts and opinions
De : bc (at) *nospam* freeuk.com (bart)
Groupes : comp.lang.c
Date : 09. Jun 2024, 17:32:40
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v44lf7$3kpef$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
User-Agent : Mozilla Thunderbird
On 09/06/2024 12:12, Michael S wrote:
On Sun, 9 Jun 2024 11:20:11 +0100
bart <bc@freeuk.com> wrote:
 

GCC on Windows or on Linux?
In my experience, gcc on Windows (ucrt64 variant, other gcc variants
are worse) very consistently produces bigger (stripped) exe than
even latest MSVCs which, as you correctly stated, are not as good
as older versions at producing small code.
>
The size of 'Hello, world' program (x86-64, dynamically linked C
RTL) vs2013 - 6,144 bytes
vs2019 - 9,216 bytes
gcc (Debian Linux, -no-pie) - 14,400 bytes
gcc (Debian Linux) - 14,472 bytes
gcc (ucrt64 DLL) - 18,432 bytes
gcc (old DLL) - 42,496 bytes
>
I get a lot worse than that:
>
     C:\c>gcc hello.c
>
     C:\c>dir a.exe
     09/06/2024  11:04           367,349 a.exe
>
     C:\c>gcc hello.c -s -Os
>
     C:\c>dir a.exe
     09/06/2024  11:04            88,064 a.exe
>
(It didn't like -Oz; did you mean something other than -Os?)
>
 No, I meant -Oz.
It was invented by clang, but newer gcc understand it.
I don't know what is a difference exactly, but -Oz tends to be a little
smaller.
In program as trivial as this, there should be no difference.
 
Both import msvcrt.dll. gcc is version 10.3.0.
>
 My gcc variants are from msys2.
Where did you get yours?
It's gcc/TDM. Anything else, I can spend 10 minutes following links to a mingw download, only to end up back where I started from. gcc/TDM is a much simpler installation.

tcc gives 2KB, and mcc gives 2.5KB.
>
 x86-64 or i386?
All were for x64.
gcc's stdio.h header defines `printf` (which my hello.c uses) as an inlined wrapper based around  `__mingw_vasprintf()`. So there might be further inlined stuff or that is statically linked, before it finally ends up calling the real `printf`.
With gcc, I get 39.9KB for -m32 -Os -s.
If I use 'puts' instead, and -m32, then it gets down to 14KB.

Date Sujet#  Auteur
6 Jun 24 * Re: C23 thoughts and opinions37BGB-Alt
7 Jun 24 +* Re: C23 thoughts and opinions32Lawrence D'Oliveiro
7 Jun 24 i+* Re: C23 thoughts and opinions15BGB-Alt
8 Jun 24 ii`* Re: C23 thoughts and opinions14Lawrence D'Oliveiro
8 Jun 24 ii +* Re: C23 thoughts and opinions11BGB
8 Jun 24 ii i+- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
13 Jun 24 ii i`* Re: C23 thoughts and opinions9Bonita Montero
13 Jun 24 ii i `* Re: C23 thoughts and opinions8BGB
14 Jun 24 ii i  `* Re: C23 thoughts and opinions7Bonita Montero
14 Jun 24 ii i   `* Re: C23 thoughts and opinions6BGB
14 Jun 24 ii i    +* Re: C23 thoughts and opinions2Bonita Montero
14 Jun 24 ii i    i`- Re: C23 thoughts and opinions1BGB
15 Jun 24 ii i    `* Re: C23 thoughts and opinions3Lawrence D'Oliveiro
16 Jun 24 ii i     `* Re: C23 thoughts and opinions2BGB
16 Jun 24 ii i      `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
9 Jun 24 ii +- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
9 Jun 24 ii `- Re: C23 thoughts and opinions1Michael S
8 Jun 24 i`* Re: C23 thoughts and opinions16Malcolm McLean
8 Jun 24 i +* Re: C23 thoughts and opinions14BGB
9 Jun 24 i i`* Re: C23 thoughts and opinions13Michael S
9 Jun 24 i i +* Re: C23 thoughts and opinions11bart
9 Jun 24 i i i`* Re: C23 thoughts and opinions10Michael S
9 Jun 24 i i i +- Re: C23 thoughts and opinions1Michael S
9 Jun 24 i i i +* Re: C23 thoughts and opinions7bart
9 Jun 24 i i i i`* Re: C23 thoughts and opinions6Michael S
9 Jun 24 i i i i `* Re: C23 thoughts and opinions5bart
9 Jun 24 i i i i  `* Re: C23 thoughts and opinions4Michael S
9 Jun 24 i i i i   `* Re: C23 thoughts and opinions3bart
9 Jun 24 i i i i    `* Re: C23 thoughts and opinions2Michael S
10 Jun 24 i i i i     `- Re: C23 thoughts and opinions1bart
11 Jun 24 i i i `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
10 Jun 24 i i `- Re: C23 thoughts and opinions1BGB
9 Jun 24 i `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
7 Jun 24 `* Re: C23 thoughts and opinions4BGB
7 Jun 24  `* Re: C23 thoughts and opinions3Lawrence D'Oliveiro
7 Jun 24   `* Re: C23 thoughts and opinions2BGB
7 Jun 24    `- Re: C23 thoughts and opinions1BGB

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal