다음을 통해 공유


#line 지시문

컴파일러의 내부에 저장된 줄 번호와 파일 이름을 지정된 값으로 설정하는 전처리기 지시문입니다.

#line lineNumber "filename"

매개 변수

항목 설명
lineNumber
설정할 줄 번호입니다. 임의의 정수 상수일 수 있습니다. 결과가 올바른 구문으로 평가되는 한 전처리 토큰에서 매크로 바꾸기를 수행할 수 있습니다.
filename [선택 사항]
설정할 파일 이름입니다. 파일 이름은 문자 조합일 수 있으며 큰따옴표(" ")로 묶어야 합니다. 이 매개 변수를 생략하면 이전 파일 이름이 변경되지 않습니다.

설명

컴파일러는 줄 번호와 파일 이름을 사용하여 컴파일 중에 발견한 오류를 참조하세요. 줄 번호는 일반적으로 현재 입력 줄을 나타내고 파일 이름은 현재 입력 파일을 나타냅니다. 줄 번호는 각 줄이 처리된 후 증가합니다. 줄 번호와 파일 이름을 변경하면 컴파일러는 이전 값을 무시하고 새 값으로 계속 처리합니다. #line 지시문은 일반적으로 프로그램 생성기에서 오류 메시지가 생성된 프로그램 대신 원래 원본 파일을 참조하도록 하는 데 사용됩니다.

변환기는 줄 번호와 파일 이름을 사용하여 미리 정의된 매크로 __FILE__ 및 __LINE__의 값을 결정합니다. 이러한 매크로를 사용하여 자체 설명 오류 메시지를 프로그램 텍스트에 삽입할 수 있습니다. __FILE__ 매크로는 콘텐츠가 큰따옴표(" ")로 묶인 파일 이름인 문자열로 확장됩니다.

예제

다음 예에서는 줄 번호를 151로 설정하고 파일 이름을 "copy.c"로 설정합니다.

#line 151 "copy.c"

다음 예에서 ASSERT 매크로는 미리 정의된 매크로 __LINE__ 및 __FILE__을 사용하여 지정된 어설션이 true가 아닌 경우 원본 파일에 대한 오류 메시지를 인쇄합니다.

#define ASSERT(cond)

if( !(cond) )\
{printf( "assertion error line %d, file(%s)\n", \
__LINE__, __FILE__ );}

추가 정보

전처리기 지시문(DirectX HLSL)