VC 2005에서 소스코드를 서명 없는 UTF-8 로 저장하면, 경고가 발생 합니다.
글쓴이: ikpil / 작성시간: 목, 2009/05/07 - 3:14오후
VC 2005 에서 소스코드르 영문으로 작성합니다.
그러고 주석을 한글로 답니다.
"서명 없는 코드페이지 UTF-8" 로 저장 합니다.
이렇게 컴파일을 실행 하면, 경고 4819가 발생 합니다.
그래서 인터넷을 뒤지다 "서명 없는 코드페이지 UTF-8 자동 겁색" 옵션을 키고, 해도 역시 마찬가지 입니다.
유니코드로 저장했음에도 유니코드가 아니라고 자꾸 모라고 합니다.
gcc 에서도 컴파일을 해야 하기 때문에, "서명 없는" 으로 써야 하는데,
어떻게 하면, "서명 없는 코드페이즈 UTF-8"로 저장하면서 경고 없이 컴파일을 할 수 있을 까요?
Forums:
Re:
주석이 아닌 코드상에 한글이 없다면, ( Ex. printf("한글"); )
경고 메세지만 나오고 실제 컴파일된 결과물의 실행 결과는 차이가 없을 것입니다.
(코드상에 한글이 있는 경우에는 문법상으로 아무런 문제가 없음에도 문법 에러가 나는 경우도 있습니다 -_-; )
경고 메세지가 나오던 말던 그냥 무시하거나,
경고 메세지가 보기 싫다면 #pragma 를 써서 해당 경고 메세지가 안 나오게 하면 되겠습니다.
대부분의 경우 C4819 는 VS2005 컴파일러의 버그로 인해 발생하는 경고 문구입니다.
이 버그는 컴파일러가 소스 파일을 읽는 과정에 존재하는 버그로서,
소스 파일의 길이가 어느정도 길이 이상이 되지 않는다면 발생하지 않으므로 (정확하게 몇KB 이상인지는 모르겠습니다 -.-;;; )
경고가 나오는 소스 파일을 여러개의 소스 파일로 나누는 방법도 해결책이 될 수 있습니다.
P.S.) 2-Byte 문자가 포함된 소스 파일에서만 나타나는 버그입니다
댓글 달기