본문 바로가기

개발관련/이것저것

gcc compiler option

gcc 명령어 옵션 ( ex : gcc -c  -g -o test.o test.c )
  -c  링크과정 생략한 컴파일.
 오브젝트 파일만 생성
  -o  [-o output filename]
 컴파일한 결과를 저장하는 파일을 직접지정
  -g  디버거를 위한 변수 테이블 생성
  -O ~-O3  최적화 옵션
 -O 부터 -O3까지 쓸 수 있음
 숫자가 클수록 최적화 레벨이 높음
  -l ( 소문자 L )  [-l directory]
 /usr/local/include 나 /usr/include 에 없는
header 파일의 루트 디렉토리 지정
  -L  [-L directory]
 /usr/lib/나 /usr/local/lib 에 없는
라이브러리 디렉토리 지정
  -I ( 대문자 I )  [-I library_name]
 사용할 라이브러리를 직접 지정
  -D  [-D define]
 정의

objdump 옵션 ( ex : objdump -d -s test.o )
 -i  타겟 포멧 정보 
 -b  타겟 포멧 지정
 -s  오브젝트 파일 전체 덤프
 -j  오브젝트 파일의 특정 섹션 덤프
 -h  섹션 헤더 덤프
 -d  오브젝트 파일의 역어셈
   --prefix-address 
 : 심볼 기준으로 상대 어드레스 표시
 --show-raw-insn
 : 명령어 코드 표시
 --l
 : 소스 파일이 있는 경우 코드 라인 표시
 --S
 : 소스 파일이 있는 경우 소스 파일내에 표시