클로버링

Clobbering

소프트웨어 공학컴퓨터 과학에서 파일, 프로세서 레지스터 또는 컴퓨터 메모리의 영역클로버하는 것은 의도적이든 의도적이지 않든 간에 파일, 프로세서 레지스터 또는 컴퓨터 메모리의 내용을 완전히 덮어쓰거나 이러한 작업이 [1]발생할 가능성을 나타내는 프로세스입니다.Jonesm File은 Clobbering을 다음과 같이 정의합니다.

덮어쓰기: 보통 의도하지 않게 "어레이 끝에서 걸어나와 스택을 닫았습니다.녹을 비교하고, 낙서를 하고, 쓰레기버리고,[2] 쌓기를 부숴라.

POSIX

POSIX 시스템 및 Bash 의 셸에서 메모리 또는 파일 덮어쓰기가 의도하지 않게 발생하는 경우가 많습니다.예를 들어,> 리다이렉션 연산자따라서 의도하지 않은 Clobbering을 방지하기 위해 쉘 파라미터 설정 등 다양한 수단을 사용할 수 있습니다.set -o noclobber(cisco, ksh) 또는set noclobber(csh, tcsh)에 의해>대신 [3]에러 메시지를 발행함으로써 클로버링으로부터 해방됩니다.

$ echo "Hello, world" > 파일.txt $ cat 파일.txt Hello, world $ echo "이것은 첫 번째 그리팅을 덮어씁니다." > 파일.txt $ cat 파일.txt 이것은 첫 번째 그리팅을 덮어씁니다.$ set - o noclobber $ echo "Can we overwrite it again?" > file.txt - files: 파일.txt: 기존 파일 $echo "그러나 > 연산자를 사용하여 noclobber를 무시할 수 있습니다." > 파일을 덮어쓸없습니다.txt $ cat 파일.txt # 파일 내용을 오버로드했습니다.txt는 > 연산자를 사용하지만 > 연산자를 사용하여 noclobber를 무시할 수 있습니다.$ set + o noclober # 설정 되돌리기

mv 명령어와 cp 명령어의 기본 동작은 대상 파일이 이미 존재하는 경우 클로버하는 것입니다.이 동작은 명령어를 호출 또는 에일리어스함으로써 덮어쓸 수 있습니다.-i switch, 명령어를 실행하면 수신인 파일을 덮어쓰기 전에 사용자에게 프롬프트가 표시됩니다.또는-n이름 경합이 있는 소스 파일을 전송하지 않도록 합니다.

메이크 파일

makefiles에서 공통 타깃 클로버는 이전 호출에 의해 생성된 불필요한 모든 파일 및 디렉토리를 완전히 청소하는 것을 의미합니다.make 명령어[4]입력합니다.이것은 치료보다 더 심각한 대상이며 일반적으로 소프트웨어를 제거하는 데 사용됩니다.일부 make 관련 명령어는 실행 중에 "make clobber"를 호출합니다.CLOBBER 환경변수를 체크합니다.OFF로 설정되어 있으면 클로버링은 실행되지 [5]않습니다.

어셈블리

어셈블러 프로그래밍(C 및 C++에서 GCC를 통해 지원되는 인라인 확장[6] 어셈블리를 포함)에서 클로버 레지스터라는 용어는 명령 또는 명령을 실행하는 동안 값이 덮어쓰기될 수 있는 레지스터를 나타내기 위해 종종 사용됩니다.

레퍼런스

  1. ^ "In Computing, what is Clobbering?". wiseGEEK. 20 June 2016. Archived from the original (html) on 13 June 2019. Retrieved 13 June 2019. The term “clobbering” is used in several different ways in computing, with the meaning usually clear from the context. In one sense, it refers to overwriting existing files or memory entries. It can also be used to discuss overwhelming computers such as servers with requests, causing a downgrade in performance. This second usage of the word reflects the common usage of “clobber” as a word to describe taking a beating.
  2. ^ 전문용어 파일의 "Clobber"
  3. ^ "Unix Power Tools", 셸리 파워스, 제리 피크, 팀 오라일리, 마이크 루키데스, 페이지 892
  4. ^ UNIX System V, Release 4, Motorola Unix, Motorola, inc, Motorola, 페이지 28
  5. ^ '유닉스 언리쉬드' 로빈 버크, 데이비드 B.호바스
  6. ^ "Extended Asm (Using the GNU Compiler Collection (GCC))". GCC, The GNU Compiler Collection. Retrieved 22 March 2021.