Compile Error문제 (C와 C++ 차이? gcc 버그?)

koreapas Reply 9 years 24 weeks ago
Run ID 38220과 38209를 보시면 소스가 완전 동일한데(첫줄에 엔터가 있고 없고 차이), C를 선택한 것은 잘 되고 C++를 선택한 것은 에러가 납니다. withcs에서 c++을 선택할 경우 다음과 같은 명령어로 컴파일이 되는데, g++ Main.c -o Main -fno-asm -Wall -lm --static -std=c++0x 테스트 해본 결과 g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2 버전에서는 정상적으로 되지만, g++ (Debian 4.7.2-5) 4.7.2 버전에서는 withcs와 똑같은 에러가 납니다 (gcc의 경우 두 버전 모두 오류가 안납니다. 그래서 c++이 아닌 c를 고른 38220번이 accepted 된 듯) 이유가 뭔가요? g++ 구버전의 버그인가요?
koreapas Reply 9 years 24 weeks ago
#include <inttypes.h> 위에 #define __STDC_FORMAT_MACROS 1를 선언하면 해결되네요 4.8.2 버전에서는 __STDC_FORMAT_MACROS가 기본적으로 설정되어있나봅니다