| [ CnUnix ] in KIDS 글 쓴 이(By): shamin (S Kim) 날 짜 (Date): 2003년 5월 28일 수요일 오후 01시 06분 44초 제 목(Title): Re: [Q]C언어 >1989년에 제안되고 1990년에 발표된 기존의 C standard를 C89나 >C90이라고 부릅니다. C89 = ANSI C C90 = ISO/IEC 9899:1990, "Programming Language -- C" > 이 표준은 1999년에 다시 바뀌게 되는데 이 표준을 C99라고 하죠. C99 = ISO/IEC 9899:1999 "Programming Language -- C" = ANSI/ISO/IEC 9899:1999 "Programming Language -- C" >ahsarang님 말씀처럼 -ansi나 -std=c99, -std=iso9899:1999와 같은 >옵션을 이용하면 GCC가 C99에 따라 동작하도록 할 수 있습니다. -ansi for C90(ISO C90) -std=c89 for ANSI C -std=iso9899:1990 for ISO C90(same as -ansi) -std=iso9899:199409 for C95(AMD1) -std=c99 for C99 -std=iso9899:1999 for C99 -std=c9x for C99 draft -std=iso9899:199x for C99 draft >94년과 96년에도 약간의 마이너 업그레이드 표준이 발표되었지만 C94 = Technical Corrigendum 1 C95 = ISO/IEC 9899:1990/Amd.1:1995, "Programming Languages - C", AMENDMENT 1:C Integrity >이들은 널리 채택되지는 않았습니다. 94, 96, 99를 모두 합쳐서 >C9X라고 부르기도 합니다. 이 부분은 잘못된 설명같습니다. C95부터는 국제표준입니다. 널리 채택되지 않았다는 말씀이 어떤 말씀이신지... 그리고, C9X는 C99가 확정되기 이전에 draft를 일컽는 말입니다. >그리고 candor님께서 질문하신 내용은 variable length array라고 >해서 이전의 constant expression만을 array의 크기로 지정할 수 있었던 >것을 C9X에서 variable expression으로 지정할 수 있게 바뀐 거죠. 네. C99에서 VLA는 표준이 되었습니다. 더 이상 C9x라고 C 표준을 호칭할 이유가 없습니다. C99를 사용하십시오. -- S Kim |