가령 내가 utf-8으로 짠 c 프로그램에서
int 가나다 = 32;
이라고 썼다고 하고 컴파일러의 source character set이 ASCII라고 가정하면
translation 페이즈 1에서 저 '가나다'는 어떻게 처리됨?
파일의 문자를 source character set으로 표현할 수 없으면 implementation마다 다르게 처리하나?
가령 내가 utf-8으로 짠 c 프로그램에서
int 가나다 = 32;
이라고 썼다고 하고 컴파일러의 source character set이 ASCII라고 가정하면
translation 페이즈 1에서 저 '가나다'는 어떻게 처리됨?
파일의 문자를 source character set으로 표현할 수 없으면 implementation마다 다르게 처리하나?
네
그럼 이론적으로는 basic source character set을 벗어나는 문자를 쓰는 모든 소스 파일은 다른 시스템과 호환되지 않는 거임?
네
고마워
https://stackoverflow.com/questions/3768363/character-sets-not-clear
ㄴ 위 링크에서는 source character set이 file encoding을 따라간다고 하는데 표준에서 이런 얘기는 못 봤는데 아마 표준이 아니라 gcc를 얘기한 거겠지?
표준은 다 달라도 되고 보통 컴파일러는 파일 인코딩을 검사해서 source character set을 잡겠지
아 보니까 비주얼 스튜디오도 그러네. 관습상 보통 컴파일러는 source character set을 파일 인코딩으로 잡는데 표준은 그것을 보장하지 않는다고 생각하면 되겠다. ㄳㄳ