아래의 코드는 C++ 이 아닌 C 컴파일러에서 컴파일이 될까요? 안될까요?
물론 C 규약으로 보면 안될법도 한데 말이죠.
그런데 GCC v3 이상에서는 이것이 컴파일 됩니다.
마치 다음과 같이 컴파일 되는듯 컴파일이 잘됩니다. 그러나 GCC v2 에서는 아래의 코드는 컴파일 에러를 발생합니다.
똑똑한 반응을 보인것은 반가운 일이지만 저에게는 매우 놀라운 반응으로 생각되었습니다.
물론 C 규약으로 보면 안될법도 한데 말이죠.
그런데 GCC v3 이상에서는 이것이 컴파일 됩니다.
| 코드: |
| /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <stdio.h> int main(void) { int s_a; s_a = 0; int s_b = 0; /* 변수 선언위치가 이상하다? */ (void)s_a, (void)s_b; return(0); } /* End of source */ |
마치 다음과 같이 컴파일 되는듯 컴파일이 잘됩니다. 그러나 GCC v2 에서는 아래의 코드는 컴파일 에러를 발생합니다.
똑똑한 반응을 보인것은 반가운 일이지만 저에게는 매우 놀라운 반응으로 생각되었습니다.
| 코드: |
| /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <stdio.h> int main(void) { int s_a = 0; /* s_a = 0; */ int s_b = 0; (void)s_a, (void)s_b; return(0); } /* End of source */ |




댓글을 달아 주세요