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

cflow
cflow cflow 명령 목적 외부 참조서의 C 및 C++ 흐름 그래프를 생성합니다. 구문
cflow [ -d Number ] [ -I Directory ] [ -i _ ] [ -i p ] [ -i x ] [ -qOption ] [ -r ] [ -MA ] [ -U Name ] [ -NdNumber ] [ -NlNumber ] [ -NnNumber ] [ -NtNumber ] [ -D Name[=Definition ] ] File ...
설명
cflow 명령은 C, C++, yacc, lex, 어셈블러 및 오브젝트 파일을 분석하고 해당 외부 참조서의 도표를 표준 출력에 기록합니다.
주: cflow 명령을 사용하여 C++ 언어를 처리하려면 IBM C Set++ Compiler/6000 패키지를 설치해야 합니다.
cflow 명령은 처리를 위해 yacc 명령, lex 명령 및 cpp 명령의 .y, .l 및 .c 접미사와 함께 파일을 전송합니다. 그러면 수정된 lint 명령의 첫번째 패스가 yacc, lex 및 cpp 출력 또는 .i 파일을 처리합니다. cflow 명령은 C Set++ 컴파일러의 .C 접미사와 함께 파일을 전송합니다.
cflow 명령은 (.o 파일과 같이) 기호 테이블에서 정보를 발췌하며, .s 접미사를 갖는 파일을 어셈블합니다. 이 출력에서, cflow 명령은 외부 참조서의 그래프를 작성하여 표준 출력에 기록합니다.
각 출력 행은 왼쪽에서 오른쪽으로 다음의 정보를 제공합니다.
행 번호는 중첩(nesting)의 레벨을 나타내기에 충분한 탭 이전에 옵니다.
전역, 콜론 및 그 정의의 이름.
이름은 보통 외부로 정의되지 않은 기능이며 밑줄 문자로 시작하지 않습니다(-i_ 및 -i 포함 플래그 참조).
C 및 C++ 소스 파일에서 발췌한 정보의 경우, 정의는 발췌 유형 선언(예를 들면, char *), 각진 괄호로 쳐진 소스 파일 이름, 정의가 발견된 행 번호로 이루어집니다. 오브젝트 파일에서 발취된 정의는 .text 또는 .data와 같은 기호가 나타내는 위치 계수기 및 파일 이름을 포함하고 있습니다. cflow 명령은 C 양식 외부 이름에서 선행되는 밑줄 문자를 삭제합니다.
cflow 명령이 한 번 이름을 표시하면 나중에 이름에 대한 참조에는 정의가 있는 cflow 행 번호만 포함됩니다. 정의되지 않은 참조서의 경우, cflow는 < >(각진 대괄호)만을 표시합니다.
중첩(nesting) 레벨이 사용 가능한 영역에서 표시하기가 너무 길 경우, -e 플래그를 사용하여 탭 확장을 탭 정지당 8개의 공백보다 적게 압축하여 cflow 명령에서 pr 명령으로 출력을 파이프합니다.
주: cflow 명령으로 생성된 행 번호가 lex 및 yacc 파일과 일치하도록 하려면 cflow 명령으로 .l 또는 .y 파일을 전송해야 합니다.
플래그
-d Number 흐름 그래프가 차단될 경우의 행수를 십진 정수로 설정합니다. 디폴트로 이것은 큰 수입니다. 차단 행수를 양수가 아닌 정수로 설정하지 마십시오.
-i _ 밑줄 문자로 시작하는 이름이 있습니다. 디폴트에는 이런 기능(및 -ix 플래그를 사용한 경우 해당 데이터)이 제외됩니다.
-i p ANSI 기능 원형은 사용 불가능합니다. 디폴트 옵션은 정의되지 않은 정보에 사용 가능한 원형 선언을 채우는 것입니다.
-i x 외부 및 정적 데이터 기호가 있습니다. 디폴트는 기능만을 포함하고 있습니다.
-r 호출 기능으로 분류된 각 기능의 호출자를 표시하는 전환된 리스트를 작성합니다.
-MA ANSI 모드를 지정합니다. cflow 명령은 이 모드에서 ANSI C 코드를 기대합니다. 조작의 디폴트 모드가 확장 모드입니다.
-NdNumber 차원 표 크기를 Number 매개변수로 변경합니다. Number의 디폴트 값은 2000입니다.
-NlNumber 유형 노드의 수를 Number 매개변수로 변경합니다. Number의 디폴트 값은 8000입니다.
-NnNumber 기호 표 크기를 Number 매개변수로 변경합니다. Number의 디폴트 값은 1500입니다.
-NtNumber 트리 노드의 수를 Number 매개변수로 변경합니다. Number의 디폴트 값은 1000입니다.
또한 cflow 명령은 pp 명령(매크로 프리프로세서) 뒤에 오는 플래그를 인식합니다.
-D Name[=Definition] 마치 #define문을 사용한 것처럼 Name 매개변수를 정의합니다. 디폴트 Definition은 1입니다.
-qOption 프리프로세서로 -qOption을 전달합니다. 예를 들면, -qmbcs는 현재 로케일로 지정된 복수 바이트 모드를 설정하고 -qidirfirst는 #includefile_name 지시문으로 포함된 파일의 탐색 순서를 수정합니다.
-I Directory cflow 프로그램에서 #include 파일을 탐색하는 디렉토리 리스트에 지정한 Directory를 추가합니다.
-U Name Name 매개변수의 초기 정의를 제거합니다. 여기서 Name은 특정 프리프로세서에서 사전 정의한 예약된 기호입니다.
종료 상태
이 명령은 다음과 같은 종료값으로 복귀합니다.
0 정상적으로 완료되었습니다.
>0 오류가 발생하였습니다.
예제
프로그램을 구성하는 이러한 C 파일의 디폴트 흐름 그래프를 생성하려면, 다음과 같이 입력하십시오.
cflow timeout.c kill.c error.c
기능의 단일 레벨 중첩으로 cflow 그래프를 생성하려면 다음과 같이 입력하십시오.
cflow -d1 resam.c pptp.c ptpt.c rrr.c whn.c
lex 프로그램의 cflow 그래프를 생성하려면 다음과 같이 입력하십시오.
cflow scan.l
yacc 프로그램의 cflow 그래프를 생성하려면 다음과 같이 입력하십시오.
cflow yaccfile.y
예제 2에서 사용된 C 파일에 각 기능의 호출자를 표시하는 전환된 리스트를 생성하려면, 다음과 같이 입력하십시오.
cflow -r resam.c pptp.c ptpt.c rrr.c whn.c
파일
/usr/ccs/bin/cflow cflow 명령의 드라이버.
/usr/ccs/lib/cflow1 cflow 명령의 실행 가능 파일.
/usr/ccs/lib/dag cflow 명령의 실행 가능 파일.
/usr/ccs/lib/flip cflow 명령의 실행 가능 파일.
/usr/ccs/lib/lpfx cflow 명령의 실행 가능 파일.
/usr/ccs/lib/nmf cflow 명령의 실행 가능 파일.
/var/tmp/cf.* cflow 명령으로 생성된 임시 파일.
관련 정보
as 명령, cpp 명령, lex 명령, lint 명령, nm 명령, pr 명령, yacc 명령.