Deutsch   English   Français   Italiano  
<vitjgg$1tukq$2@dont-email.me>

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: Bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: question about linker
Date: Fri, 6 Dec 2024 01:20:17 +0000
Organization: A noiseless patient Spider
Lines: 74
Message-ID: <vitjgg$1tukq$2@dont-email.me>
References: <vi54e9$3ie0o$1@dont-email.me>
 <87plmfu2ub.fsf@nosuchdomain.example.com> <vi9jk4$gse4$1@dont-email.me>
 <vi9kng$gn4c$1@dont-email.me> <87frnbt9jn.fsf@nosuchdomain.example.com>
 <viaqh0$nm7q$1@dont-email.me> <877c8nt255.fsf@nosuchdomain.example.com>
 <viasv4$nm7q$2@dont-email.me> <vibr1l$vvjf$1@dont-email.me>
 <vic73f$1205f$1@dont-email.me> <20241129142810.00007920@yahoo.com>
 <vicfra$13nl4$1@dont-email.me> <20241129161517.000010b8@yahoo.com>
 <vicque$15ium$2@dont-email.me> <vid110$16hte$1@dont-email.me>
 <vifcll$1q9rj$1@dont-email.me> <vifiib$1s07p$1@dont-email.me>
 <87ldwx10gv.fsf@bsb.me.uk> <vimtt4$27vv$1@dont-email.me>
 <86ser1kgp5.fsf@linuxsc.com> <vit69t$1qfgg$1@dont-email.me>
 <87ldwtzlc0.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 06 Dec 2024 02:20:17 +0100 (CET)
Injection-Info: dont-email.me; posting-host="e66b187272a5f130afd210efadd36a1b";
	logging-data="2030234"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19YlqTUa9T3fvwRk5sslNDW"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:cLdq+3zLvy/2O+YDJgooDaUy8zc=
In-Reply-To: <87ldwtzlc0.fsf@nosuchdomain.example.com>
Content-Language: en-GB
Bytes: 4243

On 06/12/2024 00:50, Keith Thompson wrote:
> Bart <bc@freeuk.com> writes:
> [...]
>> This is a discussion of language design. Not one person trying to
>> understand how some feature works. I could learn how X works, but that
>> won't help a million others with the same issue.
> 
> That's great, if there are a million other users who are confused
> about the same things you claim to be confused about, and if you're
> actually trying to help them.
> 
> Except for a couple of things.
> 
> I don't believe there are "a million other users" who are confused
> about, to use a recent example, C's rules about whether a "}" needs
> to be followed by a semicolon.  I've seen code with extraneous
> semicolons at file scope, and I mostly blame gcc's lax default
> behavior for that.  But I've never heard anyone other than you
> complain about C's rules being intolerably inconsistent.
> 
> And even if those users exist, I don't see you making any effort
> to help them, for example by explaining how C actually works.
> (Though you do manage to provoke some of us into doing that for you.)
> 

You really think I'm a beginner stumped on some vital question of 
whether I should or should not have use a semicolon in a program I'm 
writing?

I said I wouldn't be able explain the rules. Otherwise I stumble along 
like everyone else.

If I catch sight of this at the top of my screen window:

    -------------------------
        }

        ....

is that } ending some compound statement, or is it missing a ";" because 
it's initialising some data? Or (if I know I'm outside a function), is 
it the end of function definition?

I wouldn't be stumped for long, but it strikes me as odd that you can't 
tell just by looking.

I used to be puzzled by this too: 'while' can both start a while 
statement, and it can delimit a do-while statement. How is that possible?

Again if you only caught a glimpse like this:

    ----------------
      while (cond);

then /probably/ it is the last line of a do-while, but it could also 
legally be a while loop with an empty body. (Maybe temporarily empty, or 
the ; is a mistake.)

How about this:

    do
    {
        ....
    }
    while cond();

A do-while, but comment out the 'do', and it's a compound statement 
followed by a while loop

This duality of 'while' bothers me.

(I can't have repeat-while in my syntax because it doesn't work; 'while' 
is always the start of a new while-loop. So I'm interested in how C 
manages it. But it looks fragile.)