Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#2

AW: Begrifferklärung und Dateiheaderfragen

  Alt 15. Mär 2018, 11:46
https://de.wikipedia.org/wiki/Magische_Zahl_(Informatik)
https://en.wikipedia.org/wiki/List_of_file_signatures

Im Prinzip ist das am Anfang von meist binären Dateien oft eine 2-4 Byte lange Kennung/Kennzahl.
Es ist eine kurze Kennung/Beschreibung für etwas Bestimmtes, wo man an der Stelle keinen "aussagefähigen" Bezeichner angeben will oder kann.

Oft nimmt man da irgendwelche CHARs "PE" Portable Execute (EXE und DLL) oder "PK" Packed? (ZIP).
Manchmal auch ascii-codierte nummerische Werte.



Diese "Nummern" werden nicht nur zur Kennung von Dateiypen, sondern auch von Datei-/Speicher-Blöcken verwendet.
z.B. die Sektionen innerhalb einer ZIP (Verzeichniseinträge, Blöcke der einzelnen Dateien usw.)
FastMM hat am Anfang seiner Blöcke eine Kennung, um zu schnell erkennen, dass es von ihm verwalteter Speicher ist.


Magic-Numbers im Code sind schon OK, aber du solltest sie als Konstante definieren und Verwenden.
Er meinte wohl, dass es verpönt ist diese Nummern direkt zu nutzen, also z.B. Komponente.Tag = 1 (Status A) und Komponente.Tag = 2 (Status B).


Und hier ein bissl Lesestoff zu den PE-Headern:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
https://en.wikipedia.org/wiki/Portable_Executable
https://wiki.osdev.org/PE

http://www.delphibasics.info/home/de...ormat-overview
http://www.swissdelphicenter.com/de/...de.php?id=1302
https://www.delphi-treff.de/tipps-tr...pe-format-ist/
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Mär 2018 um 12:14 Uhr)
  Mit Zitat antworten Zitat