정적 라이브러리 만들기

서재환·2021년 5월 21일
0

[ 정적 라이브러리 (Static Library) ]

프로그램 빌드 시 라이브러리가 제공하는 코드를 실행 파일에 넣는 방식의 라이브러리를 의미한다.

장점

시스템 환경이 변해도 애플리케이션에 아무런 영향이 없고, 완성된 애플리케이션을 안정적으로 사용할 수 있다.

단점

반면에 사용하는 모든 오브젝트 코드를 실행 파일에 내장하기 때문에 메모리에 로드되는 애플리케이션 코드 크기가 커진다는 단점이 있다.

특징

유닉스/리눅스에서는 확장자로 .a가 붙는다.

gcc 사용법

1) gcc 파일명(*.c) : Default로 out 파일이 생성된다. (ex a.out)

gcc main.c -> a.out 생성

2) gcc -c 파일명(*.c) : 오브젝트 파일을 생성한다.

gcc -c main.c -> main.o 생성

3) gcc -o 오브젝트_파일명(.o) 파일명(.c) : 오브젝트 파일을 생성한다.

gcc -o main main.o -> main 생성 || gcc -o main main.c -> main 생성

[ 정적 라이브러리 실습 ]

1) *.c파일 을 만든다. 여기선 ft_putchar.c 로 하겠다.
2) gcc -c ft_putchar.c 또는 gcc -c -o ft_putchar.o ft_putchar.c 명령어로 ft_putchar.o 목적 파일을 만든다.
3) ar -cr libft.a ft_purchar.o 명령어를 통해 libft.a 정적라이브러리를 생성한다. 주의할 점은 만들고자 하는 이름(ft) 앞에 lib를 붙이고 그 뒤에 .a 를 붙여야 한다. 즉 정적라이브러리의 파일 이름은 libft.a 가 되는 것이다. ar 은 archive 를 의미하고 -c 는 create 를 -r 는 if not exisist create else reaplce 를 의미한다.

0개의 댓글