올바른 소스에서도 컴파일 오류가 발생할 때의 해결 방법

1508 단어 Cygwin문자 코드

이 기사에서 이야기하는 것


  • 소스를 올바르게 써도 컴파일 에러가 되는 원인을 설명합니다.
  • 컴파일 에러를 하지 않는 방법을 설명합니다.

  • 이번에는 제가 아까 진심으로 곤란한 것에 대해 Tips로 남겨 둡니다. 덧붙여 나는 Cygwin을 사용하여 컴파일하고 있기 때문에, Cygwin 이외의 소프트웨어에서는 거동이 다를 가능성이 있습니다.

    1. 컴파일 오류의 원인



    올바르게 작성해도 오류가 발생하는 원인으로 문자 코드를 들 수 있습니다. gcc 및 g++의 기본 문자 코드는 UTF-8입니다. 거기에 SJIS등으로 만들어진 소스 코드를 컴파일 하려고 하면, 일본어가 들어간 프로그램으로 에러가 발생합니다.

    사실, 저도 SJIS에서 소스 코드를 쓰고 있다는 것을 깨닫지 않고 컴파일러에 통과하고 중괄호 닫기 "}"를 붙이고 있음에도 불구하고 "붙여 잊고있어!"라고 여러 번 말해져 멸망했습니다. 노두에 헤매고 있는 분은, 한 번 문자 코드를 확인해 주세요.

    2. 컴파일 에러 시키지 않는 방법



    앞서 언급했듯이 "컴파일러와 소스 코드의 문자 코드가 호환되지 않습니다."그래서 컴파일 오류가 발생했습니다. 그러므로 이것을 해소시키는 방법은 다음을 생각할 수 있습니다.
  • 소스 코드의 문자 코드 변경
  • 컴파일러 문자 코드 변경

  • 1에 대해서는 쉽게 할 수 있습니다. 대개 "다른 이름으로 저장"할 때 문자 코드를 변경할 수 있습니다. (이미지는 사쿠라 에디터. 「문자 코드 세트」로 변경할 수 있습니다)



    2는 조금 귀찮습니다. 다음 사이트를 참조하면 알 수 있지만 컴파일 옵션으로 문자 코드를 변경할 수 있습니다. MinGW gcc에서 SJIS 문자를 다루는 방법 - 버섯의 도연 일기

    일일이 옵션을 설정하는 것은 번거롭고, 라고 해서 매번 설정하지 않도록 설정하는 것도 번거롭습니다. 온순하게 UTF-8로 소스 코드를 쓰는 편이 좋을 것이라는 것이 나의 소감입니다.

    3. 정리


  • 코드를 확인해도 잘못되지 않았는데 컴파일러로부터 말을 걸 수 있다 → 코드의 문자 코드를 일단 확인해 주세요.
  • 소스 코드의 문자 코드를 변경하는 편이 여러가지
  • 좋은 웹페이지 즐겨찾기