Thema: Delphi LSB Parity Checksumme

Einzelnen Beitrag anzeigen

Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#7

Re: LSB Parity Checksumme

  Alt 29. Mai 2007, 22:02
Ich hatte irgendwann mal einen Fall wo das klemmte, das ist aber schon ewig her - ich kann aus dem Effeff nicht mal sagen, welcher Compiler das damals war, vielleicht sogar noch Turbo Pascal
Ich habs mir dann halt angewöhnt, bei bitweisen Verknüpfungen immer gleich große Werte zu verwenden, für mich persönlich machts den Code auch besser lesbar weil ich auf Anhieb sehe wie groß die beteiligten Datentypen sind.

OT: Vor einem halben Jahr etwa hatte ich unter VS2003 (VC++) mal einen entfernt ähnlichen Fall der sehr kurios war. Aufruf einer Funktion in einer DLL, Parameterliste enthielt mehrere Pointer, sowie als letzten Parameter einen optionalen BOOL (MS-Spezialität, nicht verwechseln mit boolean...). Auf der Aufruferseite wurde der vorletzte Pointer vergessen, der Compiler meckerte aber nicht! Auf dem Stack landete dann ein einzelnes Byte aus dem BOOL (ja, im Assemblercode wurde wirklich das LSB isoliert als DWORD auf den Stack gepackt!) und der auf DWORD-Format aufgeblasene Defaultwert für den der Meinung des Compilers nach fehlenden letzten Bool-Typ. Mein Kollege damals war mit seinem Latein am Ende, warum das immer eine AV gab, im Assemblercode wars dann aber relativ schnell lokalisiert und klar Ich muss dazu sagen dass diese Aufrufe wirklich krank aussahen und tonnenweise Antipatterns beinhalteten - Altlasten halt
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat