| HOME / 정보공유 / AIX 명령어 모음

strip
strip strip 명령 strip 명령에는 POWER 기반 플랫폼의 strip과 Itanium 기반 플랫폼의 strip에 대한 정보가 포함됩니다. POWER 기반 플랫폼에 대한 strip 명령 목적
바인더 및 기호 디버그 프로그램에서 사용하는 정보를 제거하여 확장된 공통 목적파일 형식(XCOFF) 오브젝트 파일의 크기를 축소합니다.
구문
strip [ -V] [ -r [ -l ] | -x [ -l] | -t | -H | -e | -E ] [ -X { 32|64|32_64}] [ -- ] File...
설명
strip 명령은 XCOFF 오브젝트 파일의 크기를 줄입니다. strip 명령은 회선 번호 정보, 위치 재지정 정보, 디버그 섹션, typchk 섹션, 주석 섹션, 파일 헤더(header) 및 XCOFF 오브젝트 파일의 기호 테이블 모두 또는 일부를 선택적으로 제거합니다. 일단 이 명령을 사용하면 파일의 심볼 디버깅이 어려우므로, 보통 사용자가 디버그하고 테스트한 생산 모듈에만 strip 명령을 사용해야 합니다. strip 명령을 사용하면 오브젝트 파일에 필요한 기억장치 오버헤드가 줄어듭니다.
각 오브젝트 모듈에 대해, strip 명령은 옵션에서 지정한 대로 정보를 제거합니다. 각 아카이브 파일에 대해서는 아카이브에서 전역 기호 테이블을 제거합니다.
ar -s 명령을 사용하여 제거한 기호 테이블을 아카이브 또는 라이브러리 파일에 복원할 수 있습니다.
옵션이 없이 strip 명령을 수행하면 회선 번호, 재위치 정보, 기호 테이블, 디버그 섹션, typchk 섹션 및 인용문 섹션을 제거합니다.
플래그
-e 오브젝트 파일의 선택적 헤더(header)에 F_LOADONLY 플래그를 설정합니다. 오브젝트 파일이 아카이브 안에 있으면 이 플래그는 아카이브와 연결할 때 오브젝트 파일 안에 있는 기호가 무시해야 할 바인더(ld 명령)를 표시합니다.
-E 오브젝트 파일의 선택적 헤더(header)에 F_LOADONLY 비트를 재설정합니다(끕니다). (-e 플래그 참조).
-H 오브젝트 파일 헤더(header), 선택적 헤더(header) 및 모든 섹션 헤더(header)를 제거합니다.
주: 기호 테이블 정보는 제거되지 않습니다.
-l (소문자 L) 회선 번호 정보를 오브젝트 파일에서 제거합니다.
-r 외부 및 정적 기호의 항목을 제외한 기호 테이블 정보는 전부 제거합니다. 재위치 정보를 제거하지 않습니다. 디버그 및 typchk 섹션도 제거합니다. 이 옵션은 연결 편집기(ld 명령)의 입력으로 사용할 수 있는 오브젝트 파일을 생성합니다.
-t 대부분의 기호 테이블 정보를 제거하지만 기능 기호 또는 회선 번호 정보는 제거하지 않습니다.
-V strip 명령의 버전 번호를 인쇄합니다.
-x 기호 테이블 정보를 제거하지만 정적 또는 외부 기호 정보는 제거하지 않습니다. -x 플래그도 재위치 정보를 제거하기 때문에 파일에 연결할 수 없게 됩니다.
-X mode 검사할 오브젝트 파일의 strip 유형을 지정합니다. mode의 값은 다음 중 하나여야 합니다.
32
32 비트 오브젝트 파일만 처리
64
64 비트 오브젝트 파일만 처리
32_64
32 비트와 64 비트 오브젝트 파일 모두 처리
디폴트로 32 비트 오브젝트 파일을 처리(64 비트 오브젝트 무시)합니다. mode는 OBJECT_MODE 환경 변수로 설정할 수도 있습니다. 예를 들어, OBJECT_MODE=64로 설정하면 strip이 64 비트 오브젝트를 처리하고 32 비트 오브젝트를 무시하게 합니다. -X 플래그는 OBJECT_MODE 변수를 대체합니다.
-- (하이픈 두 개) 이 플래그 다음에 있는 모든 인수를 파일 이름으로 해석합니다. 그러면 하이픈으로 시작되는 이름을 갖는 파일을 제거할 수 있게 됩니다.
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 성공적으로 완료하였습니다.
>0 오류가 발생하였습니다.
예제
기호 테이블 및 회선 번호 정보를 a.out 파일에서 제거하려면 다음과 같이 입력하십시오.
strip a.out
a.out 파일의 오브젝트 파일 헤더를 제거하려면 다음과 같이 입력하십시오.
strip -H a.out
32 비트 및 64 비트 기호 테이블을 lib.a에서 제거하려면 다음과 같이 입력하십시오.
strip -X 32-64 lib.a
파일
/usr/ccs/bin/strip strip 명령이 포함되어 있습니다.
관련 정보
ar 명령, as 명령, dump 명령, ld 명령, size 명령.
ar 파일, a.out 파일.
Itanium 기반 플랫폼의 strip 명령
목적
오브젝트 파일로부터 기호 테이블, 디버깅 및 회선 번호 정보를 스트립(strip)합니다.
구문
strip [-lVx] file . . .
설명
strip 명령은 기호 테이블, 디버깅 정보 및 회선 번호 정보를 ELF 오브젝트 파일로부터 스트립핑합니다. 이러한 스트립핑 프로세스가 수행되고 나면, 어떤 상징적 디버깅 액세스도 그 파일에 대해 사용할 수 없게 되므로, 이 명령은 보통 디버그되고 테스트된 생성 모듈에서만 수행됩니다.
strip이 멤버를 처리하는 것 외에 명령 아카이브 파일(ar 파일 형식 참조)에서 실행될 경우, strip은 아카이브 기호 테이블을 제거합니다. 아카이브 기호 테이블은 ld 명령에 의해 아카이브가 링크될 수 있기 전에 -s 플래그와 함께 ar 명령을 실행하여 복원해야 합니다. strip은 이러한 상황이 발생할 경우 적절한 경고 메세지를 생성합니다.
ELF 오브젝트 파일에서 스트립핑되는 정보의 양은 다음 옵션 중 하나를 사용하여 제어할 수 있습니다.
-l
회선 번호 정보만 스트립합니다. 기호 테이블이나 디버깅 정보를 스트립하지 않습니다.
-V
표준 오류에서 strip 버전 번호를 인쇄합니다.
-x
기호 테이블을 스트립하지 않습니다. 디버깅 및 회선 번호 정보는 스트립될 수 있습니다.
strip은 오브젝트 파일에서의 파일 기억장치 오버헤드를 줄이기 위해 사용됩니다.
파일
TMPDIR/strp*
임시 파일
TMPDIR
보통 /var/tmp이지만, 환경 변수 TMPDIR을 설정하여 재정의할 수 있습니다.
관련 정보
a.out 파일 형식, ar 파일 형식.
ar 명령, as 명령, dump 명령 및 ld 명령.
tmpnam 서브루틴.
공지
기호 테이블 섹션은 세그먼트 내에 포함된 경우에, 또는 파일이 재배치 가능하거나 동적 공유 오브젝트일 경우에 제거되지 않습니다.
회선 번호 및 디버깅 섹션은 세그먼트 내에 포함된 경우에, 또는 연관된 재배치 섹션이 세그먼트 내에 포함된 경우에 제거되지 않습니다.