Deutsch English Français Italiano |
<20240526172030.000038c7@yahoo.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: Michael S <already5chosen@yahoo.com> Newsgroups: comp.lang.c Subject: Re: C23 thoughts and opinions Date: Sun, 26 May 2024 17:20:30 +0300 Organization: A noiseless patient Spider Lines: 74 Message-ID: <20240526172030.000038c7@yahoo.com> References: <v2l828$18v7f$1@dont-email.me> <v2o57g$1t5p4$1@raubtier-asyl.eternal-september.org> <7d0e8f25-a8ba-4995-9b90-ff35f85d423f@gmail.com> <v2p91e$26lpk$1@raubtier-asyl.eternal-september.org> <beffc569-3606-b627-ded9-93ce8478f2dd@please.ty> <20240525142325.517@kylheku.com> <v2ul1f$3aa7c$1@dont-email.me> <871q5o29af.fsf@nosuchdomain.example.com> <v2v7av$3d561$1@dont-email.me> <20240526153913.00007f65@yahoo.com> <v2vefo$3e72q$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Sun, 26 May 2024 16:20:21 +0200 (CEST) Injection-Info: dont-email.me; posting-host="748cc89cfd4b455fba2588d67f703cb1"; logging-data="3503865"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lFyOfXQPy2UZaV2Vgf13f5VBQI3pOf2g=" Cancel-Lock: sha1:e0HEVlWs+BDk6DaCixfQ9BwcZNI= X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32) Bytes: 4338 On Sun, 26 May 2024 15:46:33 +0200 jak <nospam@please.ty> wrote: > Michael S ha scritto: > > On Sun, 26 May 2024 13:44:32 +0200 > > jak <nospam@please.ty> wrote: > > > >> Keith Thompson ha scritto: > >>> jak <nospam@please.ty> writes: > >>>> Kaz Kylheku ha scritto: > >>>>> On 2024-05-24, jak <nospam@please.ty> wrote: > >>>>>> Bonita Montero ha scritto: > >>>>>>> Am 23.05.2024 um 21:49 schrieb Thiago Adams: > >>>>>>>> On 23/05/2024 16:25, Bonita Montero wrote: > >>>>>>>>> I ask myself what the point is in further developing a > >>>>>>>>> language like this that can actually no longer be saved. > >>>>>>>> do you mean C++? > >>>>>>>> > >>>>>>> > >>>>>>> No, C. > >>>>>> > >>>>>> I think you have a lot of confusion about programming > >>>>>> languages. C and C++ are not comparable languages. > >>>>> Except for observations like that we can write useful, > >>>>> production software that compiles as C or C++, but go on ... > >>>> > >>>> Indeed there are c++ compilers who, if used to compile c code, > >>>> could decide to call the c compiler to do the work, but if > >>>> something in the code is not strictly c, then the compilation > >>>> will be in c++, the size of the executable will increase > >>>> significantly and will need of an internal or external runtimer > >>>> to work. If it were the same thing you would not get different > >>>> things. > >>> > >>> Oh? Do you know of a C++ compiler that actually behaves this way? > >>> I've never heard of such a thing. > >>> > >>> C and C++ are closely related, and C and C++ compilers often share > >>> backends, but the two languages have different grammars. The gcc > >>> command, for example, can invoke either a C or C++ compiler, but > >>> it knows which language it's compiling based on the source file > >>> name or command line options, before it's even seen the content. > >>> > >>> There are programs that are valid C and valid C++ but with > >>> different behavior. How would a compiler that behaves as you > >>> describe cope with that? > >>> > >> > >> For example g++ makes something similar: if you pass a file .C it > >> compile the C code but if the file (.C) contains C++ code then > >> compile C++. > >> > > > > No, it does not. > > g++ compiles as C++ unless you tell it to compile as C with '-x c' > > option. > > > > > > > > You didn't read carefully or I didn't express myself well. I wrote > that the g++ compile c++ even if it is written inside a .c file. > However in doubt I preferred to try. If I pass to g++ a .c file that > contains c code, it compiles without any option, perhaps because it > reads as if it were c++ but in any case compiles it. > It is easy to see that it was compiled as C++ rather than as c. Look at the content of the generated object with 'objdump -d'. You will see that the names of global functions and variables are mangled.