Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v2vh0f$3eaba$3@dont-email.me>
Deutsch   English   Français   Italiano  
<v2vh0f$3eaba$3@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.lang.c
Subject: Re: C23 thoughts and opinions
Date: Sun, 26 May 2024 16:29:35 +0200
Organization: A noiseless patient Spider
Lines: 100
Message-ID: <v2vh0f$3eaba$3@dont-email.me>
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=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 26 May 2024 16:29:35 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="75f63f5864dc091ec43360d736bfcccd";
	logging-data="3615082"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19V4hNl4ucQ7wo4T0IIbZqptWEXgj1/I94="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:tkSAWm2pIqLBlV7xAf5I4Z3ifEA=
In-Reply-To: <v2vefo$3e72q$1@dont-email.me>
Content-Language: en-GB
Bytes: 5355

On 26/05/2024 15:46, jak 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.

>>
>> No, it does not.
>> g++ compiles as C++ unless you tell it to compile as C with '-x c'
>> option.
>>

No.

>>
>>
> 
> 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.
> 

No.


The way gcc handles all this is actually quite straightforward.

First, there is no difference between the commands "gcc" and "g++" in 
the languages supported, or the way the language is determined.  The 
only difference between these two is the standard libraries linked by 
default when generating a final executable - "g++" automatically 
includes the C++ standard libraries, while "gcc" only has the C standard 
libraries.

In neither case does "gcc" or "g++" actually handle the compilation - 
these are driver front-ends that pass things on to the actual compilers, 
assemblers and linkers (and any other bits and pieces required).

The front-ends determine the language to use primarily from the suffix 
of the source file it is given.  ".c" files are compiled as C.  ".cpp", 
".c++", ".cc", ".C" (note the capital C), ".cp", ".cxx", and ".CPP" are 
compiled as C++.  (There are many other extensions supported for 
different languages.)

The language choice can be overridden by using the "-x" switch, such as 
"-x c" or "-x c++".  The standard can be specified with "-std=".

There is no automatic detection of C or C++ based on the /content/ of 
the files.


<https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html>