2015. 2. 23.

vi 명령어 & gcc 옵션

<<vi 명령어>>
dd  현재라인 잘라내기
yy  현재 라인 복사
p  아래쪽으로 붙여넣기
v  visual 모드로 블록 지정
u  undo
.  이전 명령 실행
/  검색기능
q!  강제 종료
wq  저장 후 종료

<<GCC 전역 옵션>>
-E  전처리 과정을 출력
-v  컴파일 과정 출력
-S  어셈블리 파일 생성
-c   오브젝트 파일 생성
--save-tmps  컴파일 시 생성되는 중간 파일 저장
-da  컴파일 과정에서 생성되는 중간 코드 생성(RTL 파일 등 생성)
-o  출력파일 이름 지정 ex) gcc 출력파일이름 컴파일 대상이름 -->  gcc -o gettime gettime.c

<<전처리기(cpp0) 옵션>>
-I (+경로)  헤더 파일을 탐색할 디렉토리 지정 ex) -I/Desktop/test
-include (+헤더파일 경로)  해당 헤더 파일을 모든 소스 내 추가

<<C컴파일러(cc1) 옵션>>
▲C언어 옵션
-ansi  ANSI C 문법으로 문법 검사
-std=(+C표준)  지정한 C표준으로 문법 검사 (표준:c89, c99, gnu89 등)
-traditional  K&R C 문법으로 문법 검사
-fno-asm  asm, inline, typeof 키워드를 사용하지 않음

경고 옵션
-Wall -W  모든 경고 메시지 출력
-w  모든 경고 메세지 제거
-Werror  모든 경고를 오류로 취급하여 컴파일 중단
-pedantic  C89표준에서 요구하는 모든 경고 메세지 표시
-pedantic-errors  C89표준에서 요구하는 모든 오류 메세지 표시
-Wtraditional  ANSI C와 K&R C 간에 서로 다른 결과를 가져올 수 있는 부분이 있다면 경고

최적화 옵션
-O0  최적화 안함
-O1  최적화 레벨 1
-O2  최적화 레벨 2
-O3  최적화 레벨 3
-O4  사이즈 최적화

디버깅 옵션
-g  바이너리 파일에 디버깅 정보 삽입
-g0  디버깅 정보 사입 안함
-g3  디버깅 정보 가장 많이 제공
-pg  프로파일을 위한 코드 삽입

<<어셈블리 옵션>>
-Wa,(+옵션 리스트)  어셈블러에게 옵션 리스트 전달
-Wa, -al  어셈블리된 코드와 인스트력션을 보임
-Wa, -as  정의된 심볼을 보임

<<링크 옵션>>
-L (+경로)  라이브러리 탐색 디렉토리 지정 ex) -L/Desktop/test
-l (+라이브러리 이름)  링크할 라이브러리 지정 ex) libtest.so 를 쓰려면-ltest 로 써야함.
-shared  공류 라이브러리를 우선하여 링크
-static  정적 라이브러리를 우선하여 링크
-nostdlib  표준 C라이브러리를 사용하지 않음
-Wl,(+옵션 리스트)  옵션 리스트를 링크에 바로 전달
-s  실행파일에서 심볼 테이블 제거
-x  출력파일에 로컬 심볼 제거
-n  텍스트 영역을 읽기전용으로 만듦
-r  추후 링크가 가능하게 오브젝트를 만듦
-M  심볼들의 정보 출력
-oformat (+형식)  지정한 형식의 오브젝트 파일 생성

댓글 없음: