컴퓨터 공부/유닉스 시스템 프로그래밍

[4월 21일 3교시]C Compiler & Library Archive

려리군 2009. 4. 21. 16:51

진도표 : 554~565(UNIX System Programming)

 

GCC 참고 사이트

http:// gcc.gnu.org

 

.c -> 전처리 -> .i -> assemble -> .s  -> compile -> .o -> link -> a.out

 

컴파일과정

전처리 옵션 -E(cpp)

gcc -E hello.c > hello.i

assemble 옵션 -S


compile  옵션 ? (as)

gcc -c hello.s

link 옵션 ? (ld)

 

라이브러리 바인딩

동적(윈도우즈의 dll)

 - 공유라이브러리 사용(Shared Library) : so 파일 이용

정적(윈도우즈의 lib)

 - 모든 코드를 실행파일에 포함 : a 파일 이용

 - gcc 옵션 : -static

 

심볼정의 활용

gcc옵션 : -D[매크로]

    gcc -DVALUE=1999 ex2.c

    #define VALUE    1999의 의미가 추가됨.

활용 : 디버그

 

표준 헤더 파일 디렉터리(INCLUDE)

gcc옵션 : -I[컴파일시 이용할 INCLUDE디렉터리]

예시) ex4.h가 현재 디렉터리에 저장되어 있다.

#include <ex4.h>

gcc -I. ex4-2.c

 

 

라이브러리 사용

gcc옵션

-l[컴파일시 이용할 라이브러리 이름]

예시) /usr/lib/libm.a파일 이용시(math)

gcc -lm ex5.c

 

-L[컴파일시 이용할 LIB디렉터리]

예시)

cp /usr/lib/libm.a libmym.a

gcc -L. ex5.c -lmym

UNIX에서 인수를 이용할 때 파일명을 입력하고 뒤에 옵션을 이용한다.

'컴퓨터 공부 > 유닉스 시스템 프로그래밍' 카테고리의 다른 글

[4월 22일 1교시]  (0) 2009.04.22
[스터디] Beginning Linux 4e - 4. 리눅스 환경  (0) 2009.04.21
쉘 명령어  (0) 2009.04.21
[스터디] Beginning Linux 4e - 2. 쉘 프로그래밍  (0) 2009.04.21
vi  (0) 2009.04.21