Record mit $00 befüllen.

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Warf
Beiträge: 2081
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Record mit $00 befüllen.

Beitrag von Warf »

Das ist die alte Syntax aus C89. Der Hauptkritikpunkt an dieser Syntax war das wenn sich die Anordnung der Felder in der Struct ändert, oder neue Felder hinzukommen, es zu schwer zu findenden bugs kommen kann, weshalb mit C99 diese Sytax durch die neue ersetzt wurde.
Compiler unterstützen aber grundsätzlich beides, aber seit C99 ist die syntax ohne Feldbezeichner nicht mehr standardkonform

PascalDragon
Beiträge: 904
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Record mit $00 befüllen.

Beitrag von PascalDragon »

Mathias hat geschrieben: So 8. Dez 2024, 17:23 Jetzt wäre noch super wen sowas gehen würde.
Besonders wen es sich um einen komplexen Record handelt.

Code: Alles auswählen

procedure Test;
const
   foo: TfooRec=default(TfooRec);
Das steht noch auf meiner ToDo-Liste, da Delphi dies auch unterstützt.
FPC Compiler Entwickler

Mathias
Beiträge: 6713
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Record mit $00 befüllen.

Beitrag von Mathias »

Warf hat geschrieben: Mo 9. Dez 2024, 19:11 Das ist die alte Syntax aus C89. Der Hauptkritikpunkt an dieser Syntax war das wenn sich die Anordnung der Felder in der Struct ändert, oder neue Felder hinzukommen, es zu schwer zu findenden bugs kommen kann, weshalb mit C99 diese Sytax durch die neue ersetzt wurde.
Compiler unterstützen aber grundsätzlich beides, aber seit C99 ist die syntax ohne Feldbezeichner nicht mehr standardkonform
Dies macht eigentlich sinn, vor allem bei komplexen Sachen. Aber bei einfachen Sachen wie ein Rechteck, ist die erste Variante vorzuziehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten