Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hans-Peter Diettrich Newsgroups: de.sci.electronics Subject: Re: Wirkungsgrad von 100 m RG213U Date: Sun, 24 Sep 2023 19:51:19 +0200 Lines: 67 Message-ID: References: <57a01ea09f8f81f315dd0de99b31f4853d019b7f.camel@bartheld.net> <6508C875.81B09B27@proton.me> <20230919211342.5cf42359@Achmuehle.WOR> <650C347A.89C6B889@proton.me> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net N8mwzmUD/BHZ0ISl9yMrYwvLe+7hEK1Ds3wdQEBlUP/7NYGb9E Cancel-Lock: sha1:c/tbTLkr8btU97c4BFMEKIDXr84= sha256:9daerpuSSFxXqREEUAxpS3fUtacVfQCgw4a9uAf0a8k= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.sci.electronics:344447 On 9/24/23 1:19 AM, Helmut Schellong wrote: > Am 24.09.2023 um 00:10 schrieb Hans-Peter Diettrich: >> On 9/23/23 11:27 PM, Helmut Schellong wrote: >> >>>>> Nein, beispielsweise >>>>>     # if defined(SV) && !defined(KR) || SK == 54 && (SK & 4) == 4 >>>>> ist C. >> >> Was meint ein C Compiler dann z.B. zu: >>  >> >> # >> if defined(SV) && !defined(KR) || SK == 54 && (SK & 4) == 4 >> << > > C verlangt, daß der Code mit defined... hinter einem # steht. Tut er doch? Und das verlangt nicht C, sondern der Präprozessor. > Der Code >    if defined(SV) && !defined(KR) || SK == 54 && (SK & 4) == 4 > ohne # davor ist daher ungültig. Ist kein C, weder syntaktisch noch semantisch, sowas versteht nur der Präprozessor. > > 'if' ohne Klammern dahinter [if (expr)] ist bereits falsch. Sag ich doch. >>> # und ##   gehören zu den Punktuatoren der Sprache C. >> >> Mit welcher Wirkung? > > Die Wirkungen hierzu sind im C-Standard beschrieben, und teilweise oben. Jetzt bin ich aber gespannt: >> Hast Du vielleicht ein Beispiel für die Benutzung von ## in C oder >> C++, außerhalb einer Präprozessor-Direktive? > > Ja, viele sogar. Eines zu ## in C würde mir reichen. >>> Du scheinst die Semantiken innerhalb eines Standards nicht zu verstehen. Hast Du schon mal einen Parser für C98 geschrieben? >> >> Sag ich doch: der Standard ist ein Konglomerat aus Präprozessor, C und >> C++ Sprachen. > > Ist er nicht, Du denkst das nur, weil Du Standards nicht richtig verstehst. > Es kann sein, daß Du den C-Standard gar nicht vorliegen hast. > Ich habe jedenfalls mehrere C-Standards von ANSI gekauft. Dann kannst Du sicher darin finden, welche Wirkung *speziell* der Punktuator ## *außerhalb* einer Präprozessor-Direktive hat. Ich konnte dazu nichts finden. Und wenn Du dazu auch nichts finden kannst, dann erkläre ich diese Diskussion für beendet. DoDi