‹テンプレート マニュアルは統合が検討されています。›
ソフトウェア工学とコンピュータサイエンスにおいて、ファイル、プロセッサレジスタ、またはコンピュータメモリの領域を上書きするというのは、意図的であろうとなかろうと、その内容を完全に上書きするプロセス、またはそのようなアクションが発生する可能性が高いことを示すプロセスです。[1] Jargon Fileでは、上書きを次のように定義しています 。
通常は意図せずに上書きすること。「配列の末尾から歩き去り、スタックを破壊した。」mung、scribble、trash、smash the stackと比較してください。[2]
POSIX
POSIXシステムやBashなどのシェルでは、> リダイレクト演算子の使用などにより、メモリやファイルの上書きが意図せず発生することがよくあります。そのため、意図しない上書きを防ぐために、さまざまな手段を使用できます。たとえば、シェルパラメータset -o noclobber( bash、ksh ) またはset noclobber( csh、tcsh ) を設定すると、代わりにエラーメッセージ>が表示されるため、上書きを防ぐことができます。[3]
$ echo "Hello, world" >file.txt
$ cat file.txt
Hello, world $ echo "これで最初の挨拶が上書きされます。" >file.txt
$ cat file.txt
これで最初の挨拶が上書きされます。$ set -o noclobber
$ echo "もう一度上書きできますか?" >file.txt
-bash: file.txt: 既存のファイルを上書きできません$ echo "ただし、>| 演算子を使用して noclobber を無視できます。" > | file.txt
$ cat file.txt # >| 演算子を使用して file.txt の内容を正常に上書きしましたただし、>| 演算子を使用して noclobber を無視できます。$ set +o noclobber # 設定を元に戻します
mvコマンドとcpコマンドのデフォルトの動作では、宛先ファイルがすでに存在する場合は、そのファイルを上書きします。この動作は、スイッチを使用してコマンドを呼び出すか、またはエイリアスすることで上書きできます。これにより、宛先ファイルを上書きする前にコマンドがユーザーにプロンプトを表示したり、名前が競合するソース ファイルを転送しないようにしたりできます。
-i -n
メイクファイル
makefilesでは、共通ターゲットclobber は、make コマンドの以前の呼び出しによって生成されたすべての不要なファイルとディレクトリを完全にクリーンアップすることを意味します。[4]これはcleanよりも厳しいターゲットであり、ソフトウェアをアンインストールするためによく使用されます。一部の make 関連コマンドは、実行中に "make clobber" を呼び出します。これらは CLOBBER環境変数をチェックします。これが OFF に設定されている場合、clobber は実行されません。[5]
組み立て
アセンブラプログラミング( GCCを介してCおよびC++でサポートされているインライン拡張アセンブリ[6]を含む)では、命令の実行中に値が上書きされる可能性の あるレジスタを表すために、上書きされたレジスタという用語がよく使用されます。
参考文献
- ^ 「コンピューティングにおいて、Clobbering とは何ですか?」wiseGEEK 。2016年6月20日。 2019年6月13日時点のオリジナル(html)からアーカイブ。 2019年6月13日閲覧。
「Clobbering」という用語はコンピューティングにおいていくつかの異なる方法で使用され、その意味は通常文脈から明らかです。ある意味では、既存のファイルまたはメモリエントリを上書きすることを意味します。また、サーバーなどのコンピューターにリクエストを大量に送信してパフォーマンスを低下させることについて説明するためにも使用できます。この2番目の使用法は、「clobber」が打撃を受けることを表す単語として一般的に使用されていることを反映しています。
- ^ ジャーゴンファイルの「Clobber」
- ^ 「Unix Power Tools」、Shelley Powers、Jerry Peek、Tim O'Reilly、Mike Loukides 著、892 ページ
- ^ UNIX System V、リリース 4、Motorola Unix、Motorola、inc、inc Motorola、p. 28
- ^ 「Unix Unleashed」、Robin Burk、David B. Horvath 著
- ^ 「Extended Asm (GNU コンパイラ コレクション (GCC) の使用)」。GCC、GNU コンパイラ コレクション。2021年3 月 22 日閲覧。
