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 <v2voe0$3fnv7$2@dont-email.me>
Deutsch   English   Français   Italiano  
<v2voe0$3fnv7$2@dont-email.me>

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

Path: ...!feeds.phibee-telecom.net!news.mixmin.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 18:36:16 +0200
Organization: A noiseless patient Spider
Lines: 124
Message-ID: <v2voe0$3fnv7$2@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>
 <v2vh0f$3eaba$3@dont-email.me> <v2vjc8$3evcm$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 18:36:17 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="75f63f5864dc091ec43360d736bfcccd";
	logging-data="3661799"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19k/M4LoDYE6VauT9NWrrEtIouDMp/8rRk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:5iLX2/hDAMlcWT2E3ObDq4MZbAs=
In-Reply-To: <v2vjc8$3evcm$1@dont-email.me>
Content-Language: en-GB
Bytes: 6545

On 26/05/2024 17:10, jak wrote:
> David Brown ha scritto:
>> 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>
>>
>>
> 
> ?
> I really wrote that something similar (similar != equal) did g++ and
> that, if you write c++ code in a file with the .c extension, the g++
> compile it. I never wrote that it was automatically recognized.
> In addition, you just explained why g++ compile a .c that contains c++
> code. I don't understand: no what?
> 

I made an error here - "g++ foo.c" /will/ treat the file as C++.  I 
apologise for that, as it made things a lot more confusing.

But that is not what you wrote.  Perhaps you didn't write what you 
intended to write.  You said that g++ somehow determines whether to 
compile code as C or C++ based on the /contents/ of the file, not the 
filename suffix.  And that is completely wrong.

You also mixed up ".c" and ".C".  gcc considers ".c" to be C code, while 
".C" (with a capital C) is considered C++.