내가 지금 하려는 말은 "C언어가 BCPL 이라는 언어에서 부터 유래했다"하고 시작하는 C 언어가 만들어진 배경에 대해 설명하려는 것은 아니다. 내가 하고 싶은 말을 더 자세히 설명하면 C언어 표준의 역사에 대해 말하려고 한다.
우리는 평소에 ANSI C 라는 말을 많이 듣는다. ANSI 는 많은 사람이 알다시피 American National Standards Institute (미국 규격 협회) 이다. ANSI C는 그 협에서 제정된 C 표준 규격 같은 것이다. 이 표준은 1898년에 제정되어 ANSI C 또는 C89 라고 부르기도 합니다. 이 규정은 ISO(International Organization for Standardization) 에서 거의 그대로 받아 들어 국제 표준이 되었습니다. 이 걸을 ISO C 라고 부릅니다. 그래서 ANSI C 와 ISO C 는 거의 구분하지 않습니다.
1994년 ANSI C 에 C 언어가 가지고 있는 버그를 고치고, 1995년에 다국어 지원을 첨가하여 C95가 나오게 되었습니다. (이 때 wchar.h 라는 헤더파일이 덧붙여 집니다. C 컴파일러 가지고 있는 사람이 이 헤더파일 있는지 찾아보세요. 제 생각에는 visual C6.0 도움말에 1994-1998 이라고 적힌 것을 보면, visual c6.0 은 C95 까지 지원하는 것 같습니다. )
1999 년 또 한 번의 변경이 있었는데 이를 C99라고 합니다. (Visaul C7.0 에서는 이를 지원하는 것 같습니다. 제가 그 버전 컴파일러가 없어 확실히 모르겠습니다. 요즘 나오는 gcc 도 이 버전을 지원하겠죠. 더군다나 gcc 는 표준을 잘 지킬테니..)
기본 흐름은 ANSI C(ISO C, C89,C99) -> C95 -> C99 정도로 변했습니다.
이 중간중간에 C9x (C99의 기본이 되는 버전) 같은것도 끼어 있었고...
당신의 컴파일러는 어디까지 지원하나요. 해당연도를 보고 어느정도 유추를 하실 수 있을 것 같군요. 어쩌면 ANSI C 로 지원하지 않는 환경에서 꿋꿋이 프로그래밍 하는 사람도 있을 수 있겠고. (임베디드 쪽이나 마이크로프로세스를 직접 다루는 쪽에서는 그럴 수도 있겠죠. 그렇더라도 gcc 크로스 컴파일러를 이용해서 그런 열악한 상황은 빠져 나오는게 좋아보입니다.)
난, 그런 환경에서 일 하는 일이 없기를...
더 자세한 내용은 http://www.woong.org/
이 사이트에서 찾아보세요. 저도 그 사이트 가기 전에는 C 언어에 표준도 변화는 지 전혀 알지 못했던 사람이니까..
우리는 평소에 ANSI C 라는 말을 많이 듣는다. ANSI 는 많은 사람이 알다시피 American National Standards Institute (미국 규격 협회) 이다. ANSI C는 그 협에서 제정된 C 표준 규격 같은 것이다. 이 표준은 1898년에 제정되어 ANSI C 또는 C89 라고 부르기도 합니다. 이 규정은 ISO(International Organization for Standardization) 에서 거의 그대로 받아 들어 국제 표준이 되었습니다. 이 걸을 ISO C 라고 부릅니다. 그래서 ANSI C 와 ISO C 는 거의 구분하지 않습니다.
1994년 ANSI C 에 C 언어가 가지고 있는 버그를 고치고, 1995년에 다국어 지원을 첨가하여 C95가 나오게 되었습니다. (이 때 wchar.h 라는 헤더파일이 덧붙여 집니다. C 컴파일러 가지고 있는 사람이 이 헤더파일 있는지 찾아보세요. 제 생각에는 visual C6.0 도움말에 1994-1998 이라고 적힌 것을 보면, visual c6.0 은 C95 까지 지원하는 것 같습니다. )
1999 년 또 한 번의 변경이 있었는데 이를 C99라고 합니다. (Visaul C7.0 에서는 이를 지원하는 것 같습니다. 제가 그 버전 컴파일러가 없어 확실히 모르겠습니다. 요즘 나오는 gcc 도 이 버전을 지원하겠죠. 더군다나 gcc 는 표준을 잘 지킬테니..)
기본 흐름은 ANSI C(ISO C, C89,C99) -> C95 -> C99 정도로 변했습니다.
이 중간중간에 C9x (C99의 기본이 되는 버전) 같은것도 끼어 있었고...
당신의 컴파일러는 어디까지 지원하나요. 해당연도를 보고 어느정도 유추를 하실 수 있을 것 같군요. 어쩌면 ANSI C 로 지원하지 않는 환경에서 꿋꿋이 프로그래밍 하는 사람도 있을 수 있겠고. (임베디드 쪽이나 마이크로프로세스를 직접 다루는 쪽에서는 그럴 수도 있겠죠. 그렇더라도 gcc 크로스 컴파일러를 이용해서 그런 열악한 상황은 빠져 나오는게 좋아보입니다.)
난, 그런 환경에서 일 하는 일이 없기를...
더 자세한 내용은 http://www.woong.org/
이 사이트에서 찾아보세요. 저도 그 사이트 가기 전에는 C 언어에 표준도 변화는 지 전혀 알지 못했던 사람이니까..