Deutsch English Français Italiano |
<20240702173023.907@kylheku.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Kaz Kylheku <643-408-1753@kylheku.com> Newsgroups: comp.lang.c Subject: Re: Baby X is bor nagain Date: Wed, 3 Jul 2024 00:47:26 -0000 (UTC) Organization: A noiseless patient Spider Lines: 67 Message-ID: <20240702173023.907@kylheku.com> References: <v494f9$von8$1@dont-email.me> <v5cblg$11q0j$1@dont-email.me> <gEieO.108089$ED9b.25598@fx11.iad> <20240625113616.000075e0@yahoo.com> <mUzeO.141609$Cqra.55051@fx10.iad> <v5elql$1jmii$1@dont-email.me> <m3BeO.24907$Gurd.16179@fx34.iad> <v5empd$1jndv$2@dont-email.me> <v5eph4$1k6a9$1@dont-email.me> <87ed8jnbmf.fsf@bsb.me.uk> <v5jhls$2m7np$1@dont-email.me> <v5jm32$2nqvp$1@dont-email.me> <v5k3v2$2qllm$1@dont-email.me> <v5kfst$2svt3$1@dont-email.me> <v5kmlm$2u918$1@dont-email.me> <20240627201830.854@kylheku.com> <v5m2nl$39qob$3@dont-email.me> <87msn1l3e5.fsf@bsb.me.uk> <v5udks$13tjn$1@dont-email.me> <87bk3flty5.fsf@bsb.me.uk> <v61789$1mme1$1@dont-email.me> <87bk3f8hy5.fsf@bsb.me.uk> <v625m8$1rn2r$1@dont-email.me> Injection-Date: Wed, 03 Jul 2024 02:47:26 +0200 (CEST) Injection-Info: dont-email.me; posting-host="30e244ac737476d78edd2cd6194d0a15"; logging-data="1960897"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18zPFF+r3jH7uAjVP7elNQzViBNnpyVwHs=" User-Agent: slrn/pre1.0.4-9 (Linux) Cancel-Lock: sha1:poxkTPdSpx/AZ0nD0Z2OfQgZC3k= Bytes: 3769 On 2024-07-03, bart <bc@freeuk.com> wrote: > I really, really don't remember. I've tinkered with Linux every so often > for 20, maybe 25 years. You used to be able to order a job-lot of CDs > with different versions. Few did much. Every major distro I've ever used going back ti 1995 made it optional to install just about everything, including the compiler suite. A very popular desktop distro is Ubuntu. GCC is not a base package in Ubuntu. > Then there were various ones I tried under Virtual Box. All had gcc. You might have been using some ready-to-run preinstalled Virtual Box appliances, where someone already did the package selection for you and included the dev tools. If you have a program that uses a C compiler at run time, you will have to ask the user to install one. (If you make it work with something small like tcc, that would be practical to bundle with your program in a self-contained way. Doing that with GCC will bloat up your package.) I 100% agree with you about the horrible compiler bloat. It's like GCC is pregnant with octuplets: Two database engines (a boy and a girl), a CAD suite, three operating system kernels, an office productivity suite, ... GCC doesn't produce much better code than it did 25 years ago, and good luck running today's GCC on a machine from back then. How you write your C still matters today, in spite of all the bloat. I'e been using this snippet as a "litmus test" for decades: void insert_before(node *succ, node *ins) { ins->prev = succ->prev; ins->next = succ; succ->prev->next = ins; succ->prev = ins; } GCC today generates the same code as some 28 years ago, and just like 28 years ago, you can shave an instruction off the target code using: void insert_before(node *succ, node *ins) { node *pred = succ->prev; ins->prev = pred; ins->next = succ; pred->next = ins; succ->prev = ins; } For all the bloat and slow compilation, how you code still matters, and decades-old tricks are still relevant. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca