Deutsch English Français Italiano |
<20240607204550.319@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: C23 thoughts and opinions Date: Sat, 8 Jun 2024 03:55:19 -0000 (UTC) Organization: A noiseless patient Spider Lines: 55 Message-ID: <20240607204550.319@kylheku.com> References: <v2l828$18v7f$1@dont-email.me> <87msoe1xxo.fsf@nosuchdomain.example.com> <v2sh19$2rle2$2@dont-email.me> <87ikz11osy.fsf@nosuchdomain.example.com> <v2v59g$3cr0f$1@dont-email.me> <v30l15$3mcj6$1@dont-email.me> <v30lls$3mepf$1@dont-email.me> <v30sai$3rilf$1@dont-email.me> <v320am$1km5$1@dont-email.me> <v33ggr$e0ph$1@dont-email.me> <v34bne$i85p$1@dont-email.me> <v3758s$14hfp$1@raubtier-asyl.eternal-september.org> <v38of2$1gsj2$1@dont-email.me> <v39v87$1n7bk$1@dont-email.me> <v3du4s$2febh$3@dont-email.me> <v3etlq$2o0sh$1@dont-email.me> <v3goqo$36n61$1@dont-email.me> <v3hehi$39s59$1@dont-email.me> <v3j5hm$3j4v3$6@dont-email.me> <v3k50b$3rdhi$2@dont-email.me> <v3lt74$48om$15@dont-email.me> <v3mu6f$ct28$4@dont-email.me> <v3og9d$pgpu$1@dont-email.me> <v3p6hp$sss0$1@dont-email.me> <v3r5u9$1au1k$1@dont-email.me> <v3svmh$1k8ck$1@dont-email.me> <v3tlp4$1o860$8@dont-email.me> <v3vtou$27sqi$1@dont-email.me> <20240607173657.984@kylheku.com> <v40b9s$29vsj$1@dont-email.me> Injection-Date: Sat, 08 Jun 2024 05:55:19 +0200 (CEST) Injection-Info: dont-email.me; posting-host="14ad3386320bd8ff22d2e94d5fc7187a"; logging-data="2593995"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19vKgET1UEDDyJLVOTFCqltMA9HQcvXtyE=" User-Agent: slrn/pre1.0.4-9 (Linux) Cancel-Lock: sha1:O1K4gNvZN2+zdliFvX66EFyJm2k= Bytes: 3774 On 2024-06-08, bart <bc@freeuk.com> wrote: > On 08/06/2024 01:39, Kaz Kylheku wrote: >> On 2024-06-07, bart <bc@freeuk.com> wrote: >>> It's you who can't get your head around the idea that someone could be >>> away with a 'linker'. >> >> You can do away with linkers and linking. >> >> But it's pretty helpful when >> >> 1. the same library is reused for many programs. > > You use a shared library. That's linking. Static linking is the same thing as dynamic except it's being precomputed: the libs are dynamically processed, but then rather than the program being run, its image is dumped into an executable. That executable no then longer needs to repeat that library processing when started; everything is integrated. (There are ways to optimize linking so not all the material must be present in memory all at once as I describe it above.) >> 2. you're selling a library, and would like to ship a binary image of >> that library. > > You ship a shared library. No, not always. There is such thing as selling static libraries. Numerical code, crypto, codecs. A few times in my career I worked with purchased static libs. There are some advantages to it, like that static calls can be faster than dynamic, and unused parts of static libs can be removed at link time. Another aspect is that it's possible for static libs to be platform-independent, to an extent, because some of the object formats like COFF are widely recognized. Whereas shared libs tend to be very OS specific. The vendor has to make them separately for Windows, Linux, Solaris, BSD, Mac, ... This gruntwork is a pain in the ass that is removed from the core value of your code. The integrator who buys your static lib can turn it into a shared lib for their target system, if they are so inclined. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca