gcc와 g++의 테스트??
글쓴이: iami / 작성시간: 목, 2003/10/02 - 6:09오후
안녕하세요..
gcc 와 g++ 으로 코드 테스트 하고 있는데
gcc로는 컴파일이 잘되는데 g++에는 ansi 방식(맞나 -.-;;)의 코드을 컴파일을 못하네여?
방법이 없을까여? 옵션이라던까..
----------- 테스트 코드 -----------
int main(argc,argv)
int argc;
char **argv;
{
printf(" gcc and g++ test\n");
return 0;
}
---------- 테스트 켤과 ---------------
[root]gcc -g test.c
[root]./a.out
gcc and g++ test
[root]g++ -g test.c
test.c:10: error: `argc' was not declared in this scope
test.c:10: error: `argv' was not declared in this scope
test.c:11: error: initializer list being treated as compound expression
test.c:11: error: syntax error before `int'
test.c:13: error: parse error before `{' token
-------------------------------------------------------------------------
Forums:
이건 ansi 방식이 아닌데요 -_-;c에서는 모르지만 하여튼 c
이건 ansi 방식이 아닌데요 -_-;
c에서는 모르지만 하여튼 c++에서는 아닙니다
그리고 c와 C++은 미묘하게 차이가 많이 납니다
c++은 강형언어죠
제가 봤을적에는 gcc가 ansi가 아닌 방법도 지원해주지만 g++은 아닌거 같네요
승자는 자기보다 우월한 사람을 보면 존경심을 갖고 그로부터 배울 점을 찾지만 패자는 자기보다 우월한 사람을 만나면 질투심을 갖고 어디 구멍난 곳이 없는지 찾는다.
- 하비스
K&R C 인 듯...
K&R C 인 듯...
정확한 코드가 아닙니다.
C언어는 국제표준이고 미국의 산하기구 ANSI에서는 ANSI C라고 하는 것입니다. ANSI C라는 명칭보다는 ISO C라고 해야 합니다.
ISO C에서는 아래와 같은 형태가 되어야 옳습니다. 쓰셨던 형식은 표준 이전에 쓰이던 형식으로 안 쓰시는게 좋습니다.
C언어는 예전부터 써왔기에 옛날 프로그램이 동작하도록 만듭니다. 표준화 이전의 프로그램이 실행되지 못할정도로 딱딱하면 표준이 아무런 의미가 없기 때문이죠.
이제는 쓰지 말아야 하는 형식입니다. 참고로 ISO C90에서는 int main(void)를 main()으로 줄여 쓰는 것을 허락했지만 ISO C99에서는 아래의 형식도 금지가 됩니다.
- 죠커's blog / HanIRC:#CN
댓글 달기