![]() |
Re: (Erledigt)[C++] "*cook++"?/des Verschlüsselung
Zitat:
Hm, deine Unit sieht sehr nach einer C-Übersetzung aus. Beispelsweise schon in der ersten Funktion cpkey():
Delphi-Quellcode:
Wäre es da nicht sinnvoller, etwas daraus zu schustern, was mehr nach Pascal aussieht und für Pascal-Puristen die Lesbarkeit etwas erhöht? Beispielsweise:
procedure cpkey(into : PLongWord);
var from, endp : PLongWord; begin from:=@KnL; endp:=@KnL[31]; while (Integer(from)<=Integer(endp)) do begin into^:=from^; Inc(into); Inc(from); end; end;
Delphi-Quellcode:
Iss kürzer, spart Variablen auf'm Stack und liest sich einfach besser, wenn man C-Code nicht gewöhnt ist.
procedure cpkey(var into: array of LongWord);
// oder passender selbstdefinierter Array-Typ, ich habe // mir die Unit nicht so genau angesehen um zu wissen, // ob ein Array mit statischer Länger hier sinnvoller // wäre als ein Open Array var i: Integer; begin for i := 0 to 31 do into[i] := KnL[i]; end; Wenn in C Pointer übergeben werden, in die die Funktion Werte schreibt, kann man das sehr oft mit einem einfachen var-Parameter nach Pascal übersetzen. Dadurch verwirrt man Leser nicht mit unnötiger Pointerarithmetik. Ich habe mir die restlichen Funktionen nicht genauer angeschaut, aber auf den ersten Blick würde ich sagen, daß man viele Dinge auf ähnliche Art und Weise mehr pascalisifizieren könnte. Außerdem ist mir bei deinen Arrays aufgefallen, daß das Array ByteBit aus Words besteht, obwohl die Werte nur Byte-Länge haben. Hat das einen Grund? |
Re: (Erledigt)[C++] "*cook++"?/des Verschlüsselung
Na Holla die WaldFee ... da passt aber einer auf. Danke für die Tips.
Was die Pascalifizierung angeht: Ich hab mich bemüht eng an der Struktur der C-Datei zu bleiben, damit das Debuggen leichter fällt und eventuelle Änderungen leichter übernommen werden können. Ersteres hat sich schon bezahlt gemacht, denn wir mussten die Unit an 2 Rechnern debuggen. Der ein hatte die C-Datei geladen, der andere die Pascal-Unit. Daurch die gleiche Struktur konnten wir Zeile für Zeile durchgehen und den Fehler finden. Was das Array angeht: Ja, an sich hast du Recht. Nur: wenn ich anfangen die Unit zu "tunen" kann sie ein anderer vielleicht nicht mehr so leicht verstehen, wenn er den C-Code daneben liegen hat... naja ... es läuft auf obiges hinaus. Natürlich kannst du dir die Unit passend und schöner machen und sie als Konkurrenz-Produkt posten. ;) |
Re: (Erledigt)[C++] "*cook++"?/des Verschlüsselung
Zitat:
Ich kenne Übersetzungen halt nur als Mittel, um etwas für Leser beider Weltanschau^WSprachen zugänglich zu machen, nicht um zweimal möglichst identischen Quellcode zu maintainen ;-) Zitat:
|
Re: (Erledigt)[C++] "*cook++"?/des Verschlüsselung
Liste der Anhänge anzeigen (Anzahl: 1)
Hier noch mal eine gefixte Version.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz