![]() |
Re: memset in Delphi
Und immer im Hinterkopf behalten: FillChar und ZeroMemory sind brandgefährliche Prozeduren.
Damit kann man sich den Speicher so zerschiesen, dass das Programm nichteinmal in der Lage ist noch eine Fehlermeldung auszugeben. Manchmal stürzt das Programm auch erst Minuten nach der falschen Verwendung dieser Prozeduren ab. Solche Fehler sind dann extrem schwer zu finden. |
Re: memset in Delphi
was wird denn an dessen stelle empfohlen um den speicher entsprechend zu initialisieren?
|
Re: memset in Delphi
Du kannst einfach eine Schleife (mit Bereichsprüfung) nehmen, das ist allerdings langsamer.
Solange man weiß man tut, finde ich die Verwendung von FillChar und ZeroMemory allerdings nicht verkehrt. |
Re: memset in Delphi
Ich denke nämlich auch so...
Habe noch in Erinnerung, dass es in C++ die Funktion SecureZeroMemory gibt (wegen Compileroptimierungen). Wüsste jetzt aber kein Pendant für Delphi. |
Re: memset in Delphi
Zitat:
|
Re: memset in Delphi
nja in C ist ZeroMemory ein Macro, welches eventuell wegoptimiert wird, wenn die Variable zu den zu überschreibenden Daten danach nicht mehr verwendet wird.
Es würde also praktisch der Speicher nicht überschrieben. SecureZeroMemory ist dagegen wohl eine Funktion und wird nicht wegoptimiert. in Delphi wird ZeroMemory dagegen immer ausgeführt, also ist es quasi das Selbe wie SecureZeroMemory und darum gibt es diese Secure-Version in Delphi nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz