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

unifdef
unifdef unifdef 명령 목적 파일에서 ifdef 행을 제거합니다. 구문
unifdef [ -t ] [ -l ] [ -c ] [ -DSymbol ] [ -USymbol ] [ -idSymbol ] [ -iuSymbol ] [ File ]
설명
unifdef 명령은 파일을 수정하지 않고 이 파일로부터 ifdef 행을 제거할 경우에 유용합니다. unifdef 명령은 기능을 제대로 수행하기 위해 C 구문의 중첩된 ifdefs, 주석 및 단일 인용부호와 이중 인용부호를 인식하지만, 파일을 포함하거나 매크로를 해석하지 않습니다. unifdef 명령은 주석을 인식하지만 제거하지는 않습니다.
unifdef 명령은 File이 지정되지 않을 경우 표준 입력에서 입력을 취하고 출력은 표준 출력에 기록합니다.
일단 Symbol이 지정되면 ifdefs 내부에 있는 행은 출력장치로 복사되거나 적절하게 제거됩니다. 기호와 연관된 ifdef, ifndef, else, elif 및 endif 행도 제거됩니다. 지정되지 않은 기호을 포함하는 Ifdef는 변경되지 않고, 연관된 ifdef, else, elif 및 endif 행과 함께 복사됩니다. 동일한 기호가 하나 이상의 인수에 나타나면 처음에 발생한 것만 의미가 있습니다. 예를 들면 ifdef X가 다른 ifdef X 내부에 중첩되어 발생하면 내부의 ifdef는 인지할 수 없는 기호라고 생각합니다.
ifdef를 사용하여 인용문이나 마무리되지 않은 코드같은 C 구문이 아닌 행의 범위를 정할 경우, 목적에 맞게 어느 기호을 사용해야 하는지 지정해야 합니다. 그렇지 않으면 unifdef 명령은 그 ifdef 행의 따옴표 및 인용문을 해석하려고 할 것입니다.
unifdef 명령은 다음과 같은 cpp 구성을 처리할 수 없습니다.
#if defined(X) || defined(Y)
또는
#elif X
또는
#elif defined(X) || defined(Y)
키워드
다음의 키워드는 unifdef 명령에 의해 인지됩니다.
ifdef
ifndef
else
endif
elif
플래그
-c unifdef 명령의 조작을 보완합니다. 즉, 제거된 행이 보유되거나 보유된 행이 제거됩니다.
-D Symbol 정의될 기호를 지정합니다.
File 입력 자원을 지정합니다.
-id Symbol unifdef 명령은 ifdefs로 지정된 내부 주석, 작은 따옴표 또는 큰 따옴표를 인지하려고 하지 않을 것입니다. 그러나 이 행들은 전부 복사될것입니다.
-iu Symbol unifdef 명령은 ifdefs로 지정된 내부 주석, 작은 따옴표 또는 큰 따옴표를 인지하려고 하지 않을 것입니다. 이런 행은 전부 복사되지 않을것입니다.
-l 제거된 행은 삭제되는 대신 공백 행으로 대체됩니다.
-t unifdef 명령이 간단한 텍스트에 사용될 수 있도록 합니다(C 코드 대신). unifdef 명령은 주석, 작은 따옴표 및 큰 따옴표를 인지하려고 하지 않을 것입니다.
-U Symbol 기호를 정의하지 않도록 지정합니다.
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 출력이 입력한 것을 정확하게 복사했습니다.
1 출력이 입력한 것을 정확하게 복사하지 않았습니다.
2 불완전한 EOF, 또는 부적절한 else, elif나 endif에 의해 실패한 명령.
예제
예:
unifdef -DA original.c > modified.c
unifdef 명령이 파일 original.c를 읽게 하며, #ifdef A 행을 삭제합니다. 그런 다음 #ifdef A와 연관된 #elif/#else부터 #endif까지 모든 행을 삭제합니다. 출력은 modified.c 파일에 기록합니다.
예:
unifdef -UA original.c > modified.c
unifdef 명령이 파일 original.c를 읽게 하며, 연관된 #elif//#else, 또는 연관된 #endif까지 #ifdef A를 삭제합니다. #elif의 경우에는 #elif가 #if로 대체됩니다. #else의 경우에는 연관된 #endif와 함께 #else가 삭제됩니다. 출력은 modified.c 파일에 기록합니다.
파일
/usr/bin/unifdef unifdef 명령을 포함하고 있습니다.
관련 정보
cpp 명령.