programing

C 언어에서 #line의 의미는 무엇입니까?

lastmoon 2023. 8. 25. 23:52
반응형

C 언어에서 #line의 의미는 무엇입니까?

무슨 뜻입니까?#lineC 언어로?그것은 어디에 사용됩니까?

이것은 컴파일러에게 다음 줄이 실제로 어디에서 왔는지 알려줍니다.예를 들어 파일을 포함할 때 컴파일러(기본적으로 하나의 데이터 스트림만 보고 있음)에게 다른 파일을 보고 있음을 알려주는 것은 일반적으로 C 사전 처리기뿐입니다.

이것은 이상하게 들릴 수도 있지만, 프리프로세서는 단순히 당신이 포함을 지정하는 곳에 헤더 파일을 삽입하고 컴파일러는 전체(당신의 소스 코드와 연결된 모든 헤더 파일)에서 작동합니다. 만약 gcc를 사용한다면 당신은 프리프로세서 단계의 결과를 확인할 수 있습니다.gcc -E myfile.c거기서 당신은 그것이 추가하는 것을 알아차릴 것입니다.#line명령어는 파일을 포함할 때마다, 그리고 컴파일러에 공급되는 텍스트의 양을 줄일 때마다 사용됩니다(예: 많은 양의 주석이 하나로 줄어들 수 있음).#line지시사항, 앞으로 건너뛰기)

바이슨/yacc와 같은 다른 프로그램에서도 사용되며, 컴파일 문제가 있는 경우 바이슨/yacc가 c-파일을 생성할 때 컴파일러가 수행할 수 없는 특정 행의 규칙 파일과 관련이 있음을 알려줍니다.

이를 전처리기 라인 제어 지시라고 합니다.

양쪽의 확장.__FILE__그리고.__LINE__다음과 같은 경우 변경됩니다.#line지시문이 사용됩니다.컴파일러가 다음 원본 줄의 줄 번호를 지정된 번호로 보게 합니다.

컴파일러의 주요 용도는 컴파일러가 더 의미 있는 오류 메시지를 제공하도록 하는 것입니다.

자세한 설명 및 사용 예는 IBM 설명서에서 확인할 수 있습니다.

이것은 pragma 키워드입니다.

"#line을 사용하면 컴파일러의 줄 번호와 (선택적으로) 오류 및 경고에 대한 파일 이름 출력을 수정할 수 있습니다.이 예는 회선 번호와 관련된 두 개의 경고를 보고하는 방법을 보여줍니다.#line 200 디렉티브는 라인 번호를 200으로 설정하고(기본값은 #7이지만) 다음 #line 디렉티브까지 파일 이름이 "특수"로 보고됩니다.#line default 디렉티브는 라인 번호를 기본 번호로 되돌립니다. 이는 이전 디렉티브에서 다시 번호를 매긴 라인 번호를 계산합니다."

파일의 겉보기 줄 번호를 변경할 수 있습니다.

제가 생각할 수 있는 유일한 용도는 여러 줄 매크로의 긴 연속 이후에 줄 번호를 제정신으로 만드는 것입니다.

용도:

#line 42

대부분 C 파일(헤더 또는 구현)이 생성된 원본 파일의 파일 이름과 줄 번호를 제공하는 데 사용됩니다.이 경우 컴파일러는 생성된 파일이 아닌 소스 파일에 힌트를 주는 진단을 내보냅니다.

또한 전처리기는 이것을 사용하여 이러한 확장된 사전 처리된 파일에 포함된 헤더를 암시합니다.

프로세서 c 및 c++에 대한 문자열 인징 기호입니다.

언급URL : https://stackoverflow.com/questions/2216540/whats-the-meaning-of-line-in-c-language

반응형