'ANSI C 호환 컴파일러'에 해당되는 글 1건

  1. 2008/10/02 ANSI C 호환 컴파일러의 환경에 대하여 (2)

ANSI C 호환 컴파일러의 환경에 대하여

|
평소 C나 C++는 자주 사용하지 않지만 간혹 사용할 경우가 많아서 최근 개념을 다잡고자 "Pointers on C"라는 책을 읽고 있습니다.

책 내용중 기본 개념에 해당하는 ANSI C 호환 컴파일러의 환경에 대한 좋은 글이 있어서 올립니다.

모든 ANSI C 호환 컴파일러는 두개의 서로 다른 환경(Environment)이 존재한다.

1. 번역 환경 (Translation Environment): 소스코드를 실행 가능한 기계어로 번역하는 환경
2. 실행 환경 (Execution Environment): 코드를 실제로 실행하는 환경

이 두 환경은 모두 하나의 동일한 컴퓨터에 존재할 필요가 없다.
특히 다른 CPU나 운영체제를 사용하는 경우 번역환경과 실행 환경은 서로 상이할 수 있다.

예를 들어 Windows XP를 사용하는 개발자가 UNIX에서 돌아가는 C 프로그램을 작성한다고 하면 번역환경은 Windows XP를 사용하는 개발자의 컴퓨터이고 실행환경은 UNIX 머신이다.

이를 위하여 크로스 컴파일러(Cross Compiler)가 존재하여 현재 자신이 실행되는 컴퓨터에서 그와 다른 컴퓨터에서 실행될 수 있는 실행코드를 만들어 낼 수 있다. 이 경우 번역환경은 존재하지만 실행환경은 존재하지 않는다.

또한 환경에 따라 운영체제가 필요하지 않을 수 있다.

운영체제가 없는 환경을 프리스탠딩 환경(Freestanding Environment)라고 하는데, 전자랜지와 같은 임베디드 시스템에서 볼 수 있다.







Trackback 0 And Comment 2

Trackback http://blog.java2game.com/trackback/135 관련글 쓰기

  1. 2009/02/04 17:21 address edit & del reply

    비밀댓글입니다

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/06 00:31 address edit & del

      안녕하세요~ :-)

      우선 ANSI는 American National Standdards Institute라는 용어의 약자입니다.

      즉 ANSI는 미국의 표준화를 위한 단체입니다.

      이 단체에서는 광범위한 표준화를 진행하고 있는데 그중 컴퓨터의 언어(Language)인 C도 표준화하였습니다.

      왜냐하면 C는 자생적인 컴퓨터 언어이고 수 많은 라이브러리들이 존재하기 때문에 입니다.

      이에따라 ANSI C라고 하면 ANSI에서 표준화시킨 C라는 뜻입니다.

      이 왜에도 ISO C라는 것도 있습니다.

      더욱 자세한 정보는 http://en.wikipedia.org/wiki/ANSI_C 에서 찾아보실 수 있습니다.

      혹시 살펴보시다가 궁금한 것이 있다면 저에게 메일 주시기 바랍니다.

      결론적으로 ANSI C는 미국에서 만든 표준 C 언어입니다.

      이에 관한 좋은 책으로는 프라임 C라는 책을 권해드립니다.

      제 기억에 ANSI C를 기준으로 쓰여졌던것으로 알고 있습니다.

      그럼 좋은 하루 보내세요 ;-)

prev | 1 | next