강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

GNU Compiler Collection 5편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

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 명령을 실행하여 문제가 있는 헤더 파일의 복사본을 새로만듬

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  103 명