GNU Compiler Collection 5편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 13,708 조회
- 0 추천
- 목록
본문
GNU Compiler Collection 5편<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 개발팀
ㅇ SULINUX 홈페이지 : www.sulinux.net
ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr
1. Automake와 Autoconf의 설치
Autoconf : 자동으로 소스 프로그램을 설정하는 셀스크립트
Automake : GNU 코딩 표준에 준하는 Makefile을 자동으로 생성해주는 프로그램
설치를 위한 필수 패키지
- GUN autoconf
http://directory.fsf.org/GNU/autoconf.html
- GNU M4
http://directory.fsf.org/GNU/gnum4.html
- GNU automake
http://directory.fsf.org/GNU/automake.html
설치 방법
- 업그레이드
설정 : $ ./confiogure --prefix=/usr
- 대체하여 사용
설정 : $ ./configure --prefix=/usr/local
$ make
$ make install
2. 사용되는 명령어 및 용어 설명
autoscan : perl script로 디렉토리에 있는 소스 모듈검사해서 configuer.ac 생성
aclocal : autoconf 매크로의 위치와 정의에 대한 정보를 모아 aclocal.m4를 생성
autoheader : configure.ac 와 aclocal.m4를 이용하여 config.h.in을 생성
autoconf : configure 스크립트를 생성
automake: Makefile파일 생성
3. Automake와 Autoconf를 이용한 소프트웨어 설정
1) 프로그램 파일
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2) 소프트웨어 설정법
- configure.ac 작성 방법
자동 생성된 파일
수정후 파일
- Makefile.am 작성 방법
3) 작업 진행 순서
autoscan : 소스파일 --> configure.scan
Makefile.am 파일 작업
configure.scan 수정 --> configure.ac
aclocal : configure.ac --> aclocal.m4
autoheader : configure.ac + aclocal.m4 --> config.h.in
autoconf : configure.ac + aclocal.m4 --> configure
automake : configure.ac + aclocal.m4 + Makefile.am --> Makefile.in
configure : Makefile.in --> Makefile
4. Libtool
Libtool이란?
- 프랫폼간의 차이 및 플랫폼 상의 라이브러리 형식차이를 내부로 숨기기
위해 설계된 것
- 셸스크립트와 보조 라이브러리로 이루어져 있음
autoconf, automake와 함께 libtool사용하기
자동생성 스크립파일
수정후 스크립트파일
5. 한 시스템에 여러버전의 GCC 사용하기
- 새 GCC의 PATH를 설정
export PATH=new-directory:${PATH}
6. GCC로 컴파일한 프로그램 실행 시 발생하는 문제
- ACL 권한과 같이 설치 되었는지 확인
- 현재 사용자가 gcc의 권한 설정 확인
7. 컴파일 도중 메모리가 부족할 때
- SCO유닉스의 경우 발생
malloc()함수를 GNUmalloc()으로 재설치
8. 설치된 GCC를 다른 곳으로 이동시
- 새로 빌드하는 것이 최선의 선택
- 심볼릭 링크를 이용하여 이동이 가능하나 관리상 문제가 발생할수 있음
9. 최적화 과정에서 발생하는 문제
- 최적화 레벨을 낮추며 컴파일
포인터를 통해 접근하는 모든 자료구조체가 실제 malloc을 통하여 할당된
메모리인지 확인
10. 헤더파일과 라이브러리를 사용할 때 발생하는 문제
- GCC를 재설치
GCC빌드 디렉토리에서 stmp-fixinc, stmp-header, include 하위 디렉토리 전체
삭제후 make install 명령을 실행하여 문제가 있는 헤더 파일의 복사본을 새로만듬
관련자료
-
이전
-
다음