Groups | Search | Server Info | Login | Register


Groups > de.comp.lang.c > #10627

Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur

From Stefan Reuther <stefan.news@arcor.de>
Newsgroups de.comp.lang.c
Subject Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur
Date 2025-05-16 18:08 +0200
Message-ID <1007uv8.404.1@stefan.msgid.phost.de> (permalink)
References (3 earlier) <1002mel.19o.1@stefan.msgid.phost.de> <1002k0i$3q3f2$1@gwaiyur.mb-net.net> <87plgapani.fsf@ftvaux.mobileactivedefense.com> <1005cmn.3h8.1@stefan.msgid.phost.de> <slrn102cbun.2oej.hjp-usenet4@trintignant.hjp.at>

Show all headers | View raw


Am 15.05.2025 um 20:17 schrieb Peter J. Holzer:
> On 2025-05-15 18:44, Stefan Reuther <stefan.news@arcor.de> wrote:
>> Am 15.05.2025 um 09:59 schrieb Rainer Weikusat:
>>> 0 ist eigentlich immer eine zulässige Addresse. „Null pointer“ ist ein
>>> abstraktes C-Konzept, das in dieser Allgemeinheit auf real existierender
>>> Hardware meistens nicht existiert.
>>
>> Im _segmentierten_ Protected Mode für i286/i386 ist "alles Nullbits" per
>> Hardwarespezifikation eine ungültige Adresse.
> 
> So ist es. Und das (WIMRE) nicht nur beim Zugriff: Allein das Laden von
> 0000 in ein Segment-Register führt bereits zu einer Exception.

Nullpointer darfst du laden, das gibt die Exception erst beim Zugriff.
Was du nicht darfst: einen Pointer laden, dessen Segmentregister keinem
von Null verschiedenen Segment entspricht.

Das erklärt die Regel, warum ein Pointer auf ein freigegebenes Objekt
ungültig wird ("The value of a pointer becomes indeterminate when the
object it points to reaches the end of its lifetime") - eine i286
Runtime könnte beim Freigeben des Objekts den Segmentdeskriptor
invalidieren, so dass bereits das Laden des Pointers eine Exception
generiert, nicht erst das Dereferenzieren.

> (Für C-Compiler dürfte das aber unproblematisch gewesen sein, weil die
> für Pointer-Manipulationen (inkl. Vergleich mit NULL) schon aus
> Performance-Gründen sicher normale Register verwendet haben.)

Die meisten, ja. Aber gerade in den Zeiten wie i286 modern und "ANSI C"
der neue heiße Scheiß war, hat man halt schon interessante ABIs
antizipiert. Nicht nur den langweiligen Standardkram mit 16-32
Registern, die alle gleich sind.


  Stefan

Back to de.comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

[clang] Warnung bei unvollständiger Initialisierung von Struktur Michael Bäuerle <michael.baeuerle@stz-e.de> - 2025-05-12 16:52 +0200
  Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Stefan Reuther <stefan.news@arcor.de> - 2025-05-13 17:38 +0200
    Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-05-13 21:07 +0200
      Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Stefan Reuther <stefan.news@arcor.de> - 2025-05-14 18:12 +0200
        Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Marcel Mueller <news.5.maazl@spamgourmet.org> - 2025-05-14 19:30 +0200
          Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Rainer Weikusat <rweikusat@talktalk.net> - 2025-05-15 08:59 +0100
            Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Stefan Reuther <stefan.news@arcor.de> - 2025-05-15 18:44 +0200
              Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-15 20:17 +0200
                Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Stefan Reuther <stefan.news@arcor.de> - 2025-05-16 18:08 +0200
                Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Rainer Weikusat <rweikusat@talktalk.net> - 2025-05-18 19:14 +0100
                Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Marcel Mueller <news.5.maazl@spamgourmet.org> - 2025-05-30 20:46 +0200
  Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Helmut Schellong <var@schellong.biz> - 2025-06-11 15:27 +0200
  Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Bastian Blank <usenet@waldi.eu.org> - 2025-06-15 19:26 +0000
    Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-15 21:58 +0200
      Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Michael Bäuerle <michael.baeuerle@stz-e.de> - 2025-06-16 10:33 +0200
  Re: [clang] Warnung bei unvollständiger Initialisierung von Struktur Bonita Montero <Bonita.Montero@gmail.com> - 2025-12-27 18:34 +0100

csiph-web