Clobbering
Im Softwareentwicklung und Informatik, kuscheln a Datei, Prozessorregister oder eine Region von Computerspeicher Ist der Prozess, seinen Inhalt vollständig zu überschreiben, ob absichtlich oder unbeabsichtigt oder angeben, dass eine solche Aktion wahrscheinlich auftreten wird.[1] Das Jargon -Datei Definiert Kräuselung als
Zu überschreiben, normalerweise ungewollt: "Ich ging am Ende des Array und kuschelte die Stapel." Vergleichen Mung, kritzeln, Müll, und zerschmettere den Stapel.[2]
Posix
Speicher- oder Dateiüberschreibung in Posix Systeme sowie in Shells wie z. Verprügeln, oft ungewollt - wie die Verwendung der >
Umleitungsoperator. Um ein unbeabsichtigter Klobber zu verhindern, können daher verschiedene Mittel verwendet werden - beispielsweise das Festlegen des Shell -Parameters set -o noclobber
(verprügeln, ksh) oder Noclobber einstellen
(CSH, TCSH) wird verhindern >
aus dem Kruppieren, indem es darum geht, eine auszugeben Fehlermeldung stattdessen:[3]
$ Echo "Hallo Welt" > Datei.txt$ cat file.txtHallo Welt $ Echo "Dies wird den ersten Gruß überschreiben." > Datei.txt$ cat file.txtDies wird den ersten Gruß überschreiben. $ einstellen -O Noclobber$ Echo "Können wir es wieder überschreiben?" > Datei.txt-Bash: file.txt: Die vorhandene Datei kann nicht überschrieben werden $ Echo "Aber wir können den> | Operator verwenden, um den Noclobber zu ignorieren." >|Datei.txt$ cat file.txt # Überschreiben Sie den Inhalt von Datei.txt erfolgreich mit dem> | Operator Aber wir können das> | verwenden Bediener ignorieren die Noclobber. $ einstellen +o Noclobber # Ändert sich wieder ein
Das Standardverhalten der MV und CP Befehle besteht darin, ihre Zieldatei zu kämpfen, wenn sie bereits vorhanden ist. Dieses Verhalten kann durch Aufrufen oder durchgerufen werden Aliasing die Befehle mit den -ich
Schalter, was dazu führt, dass die Befehle den Benutzer auffordern, bevor sie die Zieldatei überschreiben, oder -n
Quelldateien nicht mit einem Namenskonflikt zu übertragen.
Makefiles
Im Makefilesein gemeinsames Ziel Klamotten bedeutet die vollständige Reinigung aller unnötigen Dateien und Verzeichnisse, die durch frühere Aufrufe des machen
Befehl.[4] Es ist ein schwerwiegenderes Ziel als sauber und wird gewöhnlich an gewöhnt deinstallieren Software. Einige Make-bezogene Befehle rufen während ihrer Ausführung auf "Make Clobber" auf. Sie überprüfen den Klobber Umgebungsvariable. Wenn es auf OFF eingestellt ist, ist der Klopfen nicht fertig.[5]
Montage
Im Assembler Programmierung - einschließlich Inline erweiterte Montage[6] Wie unterstützt C und C ++ durch GCC - der Begriff Kruppierte Register wird oft verwendet, um jeden zu bezeichnen Register deren Wert während der Ausführung einer Anweisung oder Anweisungen überschrieben werden kann.
Verweise
- ^ "Was ist im Computer, was ist ein Kumpel?". Wisegeek. 20. Juni 2016. archiviert von das Original (HTML) am 13. Juni 2019. Abgerufen 13. Juni 2019.
Der Begriff „Clobbering“ wird auf verschiedene Arten im Berechnung verwendet, wobei die Bedeutung normalerweise aus dem Kontext klar ist. In gewisser Hinsicht bezieht es sich auf das Überschreiben vorhandener Dateien oder Speichereinträge. Es kann auch verwendet werden, um überwältigende Computer wie Server mit Anfragen zu diskutieren, was zu einer Herabstufung der Leistung führt. Diese zweite Verwendung des Wortes spiegelt die gemeinsame Verwendung von „Clobber“ als Wort zum Beschreiben einer Schläge wider.
- ^ "Clobber" in der Jargon -Datei
- ^ "Unix Power Tools", von Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides, p. 892
- ^ UNIX System V, Release 4, Motorola Unix, Motorola, Inc, Inc Motorola, p. 28
- ^ "Unix entfesselt", von Robin Burk, David B. Horvath
- ^ "Erweiterte ASM (unter Verwendung der GNU Compiler Collection (GCC)") ". GCC, die GNU Compiler -Sammlung. Abgerufen 22. März 2021.