Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Begrifferklärung und Dateiheaderfragen

  Alt 15. Mär 2018, 12: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/
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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