기금넷 공식사이트 - 회사 연구 - 중국어 기호가 나타날 때 컴파일 오류 메시지는 무엇을 표시합니까?

중국어 기호가 나타날 때 컴파일 오류 메시지는 무엇을 표시합니까?

저작권 ? 1999-2020, CSDN.NET, All Rights Reserved

앱 열기

System_sleep

팔로우

VS2019 코드의 중국어 콘텐츠로 인해 컴파일 오류 및 잘못된 인쇄 문제가 발생했습니다. 원본

2022-06-25 17:45:47 좋아요 2개

System_sleep?

코딩 경력 11년

주의사항

서문

VS2019에서는 코드에 중국어 문자열 정의나 주석이 포함되어 있으면 다양한 문제가 발생합니다. 설명할 수 없는 컴파일 오류, 운이 좋아서 오류 없이 컴파일하더라도 여전히 콘솔에 인쇄된 한자가 왜곡되어 사람들이 매우 짜증나게 하는 문제에 직면하게 됩니다.

컴파일 문제

1. 중국어 문자열 상수가 코드에 정의되어 있어 컴파일 오류가 발생합니다. "상수에 개행 문자가 있습니다."; . 코드에 중국어 주석이 포함되어 있어 컴파일 오류가 발생합니다. XXX(매크로, 변수)를 찾을 수 없습니다. XXX는 상수/변수가 아니며 명령문을 찾을 수 없어 발생하는 기타 문제입니다.

잘못된 문자 인쇄

코드 중국어 문자열을 인쇄할 때 명령 프롬프트의 출력이 깨집니다.

해결책 세 가지 방법 중 하나를 선택하세요.

1. 코드 파일 형식을 수정하세요. 서명을 사용하여 UTF-8로 변환하면 MSVC 컴파일러가 utf-8 BOM 형식의 파일을 자동으로 인식하고 로드할 수 있습니다.

외부 편집기를 사용하여 코드 파일을 utf8-BOM 형식으로 저장합니다.

또는 코드 파일을 열고 VS2019 "고급 저장 옵션"에서 코드 파일 저장 형식을 "서명 포함 유니코드"로 선택하세요.

2. 코드 형식을 수정하세요. p>중국어 문자열 및 중국어 주석 형식을 수정하고 중국어 끝에 영어 공백을 추가하여 MSVC 컴파일러가 중국어 utf-8 인코딩 문자열을 GBK 인코딩으로 로드 및 컴파일할 수 있도록 하여 컴파일 오류 문제 및 인쇄를 해결할 수 있습니다. 여전히 깨졌습니다.

3. 필수 MSVC 컴파일러에서 로드한 코드 파일의 인코딩 형식을 지정합니다.

VS2019의 "프로젝트" - "프로젝트 속성" 대화 상자 - "C /C++" - "모든 옵션" 하위 페이지, "추가 옵션"에서 "/utf-8"("/source-charset:utf-8 /execution-charset:utf-8"과 동일)을 추가합니다.

VS2019 "프로젝트" - "프로젝트 속성" 대화 상자 - "C/C++" - "모든 옵션" 하위 페이지의 "추가 옵션"에 "/source-charset:utf-8 /execution-charset:gbk"를 추가합니다. (전자는 파일 자체의 인코딩을 나타내고 후자는 컴파일 후 인코딩을 나타냅니다. 문자 배열의 바이트는 무엇입니까?)

요약:

1. 새 프로젝트의 경우 권장되는 방법은 모든 새 코드 파일을 utf-8 BOM 형식으로 통합하는 것입니다.

2. 크로스 플랫폼 코드이고 파일에 몇 가지 중국어 주석이 포함되어 있는 경우 방법을 시도해 볼 수 있습니다. 2;

3. 기존의 역사적 복합 프로젝트인 경우(내보낸 도구를 사용하지 않음) 방법 3을 시도해 볼 수 있지만 UI 표시와 인쇄 모두에 대한 문자열 인코딩 요구 사항에 주의해야 합니다. 실행 문자 집합을 설정할 때(일관되지 않을 수 있음)