다음을 통해 공유


번역의 단계

C 및 C++ 프로그램 각각의 텍스트는 프로그램의 일부를 포함 하나 이상의 소스 파일에 구성 됩니다.해당 포함 파일을 소스 파일 (를 사용 하 여 포함 된 파일의 #include 전처리기 지시문) 같은 조건부 컴파일 지시문에 의해 제거 하는 코드 섹션을 포함 하지 않는 있지만 #if, "번역 단위" 라고

소스 파일을 서로 다른 시간에 번역 수 있습니다-실제로 오래 된 파일만 번역 하는 것이 일반적입니다.번역 된 번역 단위가 별도 개체 파일 또는 개체 코드 라이브러리를 처리할 수 있습니다.이러한 별도 번역 된 번역 단위 실행 가능한 프로그램 또는 동적 연결 라이브러리 (DLL)를 형성 하 고 연결 됩니다.링커 입력 파일로 사용 되는 파일에 대 한 자세한 내용은 참조 하십시오. LINK 입력 파일.

변환 단위를 사용 하 여 통신할 수 있습니다.

  • 외부 링크를 사용 하는 함수를 호출 합니다.

  • 외부 링크를 사용 하는 클래스 멤버 함수를 호출 합니다.

  • 외부 링크를 사용 하는 개체를 직접 수정 합니다.

  • 파일을 직접 수정 합니다.

  • 프로세스 간 통신 (예: Microsoft Windows 기반 응용 프로그램 에서만).

다음 목록에서 컴파일러 파일을 변환 하는 단계를 설명 합니다.

  • 문자 매핑
    원본 파일에서 원본 내부 표현으로 매핑됩니다.삼중 시퀀스가이 단계에서 단일 문자 내부 표현으로 변환 됩니다.

  • 줄 나오게
    모든 줄 끝에 백슬래시 (\) 바로 뒤에 여는 줄 바꿈 문자 가입 논리 줄 실제 줄에서을 형성 하는 소스 파일에서 다음 줄을.비어 있는 경우를 제외 하 고, 소스 파일에서 백슬래시 앞에 줄 바꿈 문자 끝나야 합니다.

  • 토큰화
    소스 파일 전처리 토큰 및 공백 문자로 나뉘어집니다.원본 파일에서 주석 하나의 공백 문자를 대체 됩니다.줄 바꿈 문자는 그대로 유지 됩니다.

  • 전처리
    전처리 지시문이 실행 되 고 소스 파일에 매크로 확장 됩니다.#include 문은 호출 시작 앞의 세 가지 번역 단계를 포함된 하는 텍스트를 번역 합니다.

  • 문자 집합 매핑
    모든 원본 문자 구성원 집합 및 이스케이프 시퀀스 실행 문자 집합에 해당 하는 항목으로 변환 됩니다.Microsoft C 및 C++의 경우 소스와 실행 문자 집합 ASCII입니다.

  • 문자열 연결 연산자
    모든 인접 한 문자열 및 와이드 문자열 리터럴을 연결 됩니다.예를 들면 "String " "concatenation" 가 "String concatenation"로 변경됩니다.

  • 변환
    모든 토큰 구문이 고 의미적으로 분석 됩니다. 이러한 토큰 개체 코드로 변환 됩니다.

  • 링크
    모든 외부 참조는 실행 가능한 프로그램 또는 동적 연결 라이브러리를 만들려면 확인 됩니다.

컴파일러 경고 또는 오류 구문 오류를 발견 번역 단계 동안 발생 합니다.

링커가 모든 외부 참조를 확인 하 고 하나를 결합 하 여는 실행 가능한 프로그램 또는 DLL을 만듭니다 또는 더 표준 라이브러리와 함께 번역 단위를 개별적으로 처리 합니다.

참고 항목

참조

전처리기