
__line\u C++ 매크로
2022-06-04 last update
7 minutes reading C++프로세서는 컴파일링 과정이 시작되기 전에 원본 코드를 가진 프로그램입니다.이 프로세서들은 #define, #include 등 몇 가지 명령을 포함하고 있습니다. 모두 4가지 주요 유형의 프로세서 명령이 있습니다.그중 하나는 매크로입니다.매크로는 특정 이름을 지정한 프로그램에 코드를 포함합니다.컴파일러가 이 이름을 만났을 때, 컴파일러는 이 이름을 실제/실제 코드로 대체합니다."#define"명령은 매크로를 정의합니다.
매크로는 프로그래밍 언어의 코드의 줄임말이다.이러한 매크로는 중복과 중복 인코딩을 피하기 위해 코드를 간소화하고 줄이는 데 도움이 된다.이렇게 하면 중복 인코딩으로 인한 오류도 감소할 수 있다.매크로의 주요 장점은 코드를 변환하고 더 읽을 수 있는 어셈블리 프로그램을 만들 수 있다는 것이다.
매크로는 이름, 형식 매개 변수 그룹, 코드체를 포함합니다.매크로 이름은 매개 변수 집합과 함께 사용되며 주체가 생성한 코드로 대체됩니다.이것은 매크로 확장을 이루었다.이것은 프로그래머가 위조 조작, 즉 필요한 조작과 프로세서 명령으로 이루어지지 않은 조작을 만들고 정의할 수 있도록 합니다.매크로는 자동 쓰기 프로그램의 특정한 품질을 가지고 있다.이름 매크로는 코드에 키워드로 기록됩니다.함수 호출과 같이 특정 매크로에 대한 호출을 충당합니다.그리고 이 이름은 위에서 설명한 바와 같이 매크로의 다른 코드로 대체됩니다.처리된 복사본으로 호출을 바꾸는 것은 매크로 호출의 확장입니다.또한 C와 C++에서도 사용됩니다.
매크로를 정의한 후 첫 번째 원래 정의를 삭제하지 않으면 다른 값으로 재정의할 수 없습니다.그러나 정의된 매크로와 동일한 정의를 사용하여 매크로를 재정의할 수 있습니다.#unde 명령은 매크로 정의를 삭제합니다.정의를 삭제하면 다른 값을 사용하여 매크로를 재정의할 수 있습니다.
두 가지 유형이 있습니다. 클래스 객체 매크로 매크로와 유사한 함수 클래스 객체 매크로
클래스 대상 매크로는 매개 변수를 받아들일 수 없습니다.이것은 값으로 대체된 식별자입니다.그것들은 주로 수치와 상량을 나타내는 데 쓰인다.
클래스 함수 매크로
이러한 유형의 매크로는 매개변수를 수용할 수 있습니다.이 매크로들은 함수 호출처럼 보인다.예를 들어 Max는 매크로의 이름입니다.
SVC의 미리 정의된 매크로가 있는 Microsoft C/C++ 컴파일러는 C++ 언어, 컴파일 대상 및 컴파일러 옵션에 의존합니다.MSVC는 ANSI/ISO C99 표준 요구 사항에 대한 사전 정의된 프로세서 매크로를 지원합니다.이러한 미리 정의된 매크로는 매개변수를 사용하지 않으며 재정의할 수도 없습니다.
많은 미리 정의된 매크로는 C/C++ 소스 코드/프로그램에서 사용할 수 있습니다.여기에는 그 중에서 가장 자주 사용하는 방법들이 묘사되어 있다.
__ 날짜: _
이 함수 매크로는 파일의 프로그램 컴파일 날짜를 나타냅니다.날짜는 월-일-년 형식의 문자열로 상수 값입니다.항상 이 유형의 매크로를 정의합니다.
__시간__
그것은 예비 처리 단원의 전환 시간을 묘사했다.date와 유사하게, 시간: 분: 초로 쓰기, 되돌아오는 시간과 같은 특정한 형식이 있습니다.
이러한 유형의 매크로도 항상 정의됩니다.
__ 파일 _
이것은 현재 파일의 이름을 나타냅니다.문자열로 확장됩니다.이렇게 하면 파일에 대한 경로를 표시할 수 있습니다.항상 정의된 매크로입니다.
__ 라인 _
이것은 현재 원본의 줄 번호를 정수 형식으로 표시합니다.이 매크로는 # 행의 도움말에 따라 다른 매크로와 마찬가지로 정의됩니다.
이제\uuline\uu C++ 매크로 함수의 예시를 중점적으로 소개합니다.
__ 라인 _
이 거대한 작업 원리를 이해하기 위해서 여기서 우리는 하나의 예를 인용했다.먼저 입력과 출력 흐름에 사용되는 라이브러리를 사용합니다.그리고 오류 로그를 유지하기 위해 함수 오류 로그를 사용했습니다.문자열과 메시지 형식의 줄을 받아들일 수 있는 매개 변수가 있습니다.이 기능은 주 프로그램에서 매크로로 전달되는 줄 번호와 메시지를 표시합니다.
그 후에 우리는 매크로를 정의했다.이것은 자주 함수에 대한 메시지 줄 문자열을 받아들일 것입니다. 이 문자열은 이 매크로를 호출할 때 매개 변수로 전달됩니다.이와 유사하게 오류 로그 함수도 라인 매크로와 메시지를 매개 변수로 호출합니다.파일은 의 확장자로 저장됩니다.c 소스 코드 파일.Linux 플랫폼의 결과를 봐야 하기 때문에 터미널로 이동하여 명령을 적용하여 파일을 컴파일하고 실행하십시오.C++의 g++ 컴파일러를 사용합니다.
공백을 사용하더라도 줄 번호는 라인 매크로를 통해 표시됩니다.이 예에서\uuline\uuuu 매크로의 기능을 보았습니다.그러나 다음 예에서는 모든 매크로가 프로그램에 집중됩니다.우리는 "cout"로 선을 인쇄합니다.행마다 다른 매크로가 포함되어 있으며 값이 표시됩니다.예를 들어, 우리가 사용한 날짜:
이제 출력을 볼 수 있습니다.각 매크로의 코드를 통해 파일 이름, 컴파일 날짜, 컴파일 시간, 현재 줄 번호를 효과적으로 표시할 수 있음을 알 수 있습니다.
긴 변수 성명을 짧은 변수로 변환할 때 차지하는 공간이 더 적다. 매크로가 현재 문장에 의미를 제공하는 이름과 함께 사용할 때 매크로는 긴 코드보다 이해하기 쉽다. 매크로는 스스로 쓰레기를 치우거나 제거할 수 없습니다.이것은 프로그래머에 달려 있다. 그는 언제 매크로가 종료되도록 설계되었는지 결정하고 두 번째 파일이 쉽게 매크로를 사용할 수 있도록 제거해야 한다. 프로그램의 실행 속도가 향상된 것은 코드에서 매크로를 사용하는 주요한 장점이다.
"\uuline\uu C++macro"는 매크로의 유형, 미리 정의된 매크로와 그 유형을 묘사함으로써 매크로의 기본 기능을 상세히 논술한 문장이다.하나의 예를 통해 이 모든 기능을 설명하였다.매크로는 실현하기 쉬우며 코드를 컴파일할 때 걸리는 시간이 더 적다.이러한 특성은 기본 원본 프로그램에서 작은 코드를 사용하여 혁신과 조건을 창조하고자 하는 프로그래머들이 설계한 것이다.이를 위해 본고는 마지막으로 매크로가 원본 코드에서의 사용을 소개하고 그것들의 어떤 방면에서의 장점을 묘사했다.
매크로는 프로그래밍 언어의 코드의 줄임말이다.이러한 매크로는 중복과 중복 인코딩을 피하기 위해 코드를 간소화하고 줄이는 데 도움이 된다.이렇게 하면 중복 인코딩으로 인한 오류도 감소할 수 있다.매크로의 주요 장점은 코드를 변환하고 더 읽을 수 있는 어셈블리 프로그램을 만들 수 있다는 것이다.
매크로 확장
매크로는 이름, 형식 매개 변수 그룹, 코드체를 포함합니다.매크로 이름은 매개 변수 집합과 함께 사용되며 주체가 생성한 코드로 대체됩니다.이것은 매크로 확장을 이루었다.이것은 프로그래머가 위조 조작, 즉 필요한 조작과 프로세서 명령으로 이루어지지 않은 조작을 만들고 정의할 수 있도록 합니다.매크로는 자동 쓰기 프로그램의 특정한 품질을 가지고 있다.이름 매크로는 코드에 키워드로 기록됩니다.함수 호출과 같이 특정 매크로에 대한 호출을 충당합니다.그리고 이 이름은 위에서 설명한 바와 같이 매크로의 다른 코드로 대체됩니다.처리된 복사본으로 호출을 바꾸는 것은 매크로 호출의 확장입니다.또한 C와 C++에서도 사용됩니다.
매크로를 정의한 후 첫 번째 원래 정의를 삭제하지 않으면 다른 값으로 재정의할 수 없습니다.그러나 정의된 매크로와 동일한 정의를 사용하여 매크로를 재정의할 수 있습니다.#unde 명령은 매크로 정의를 삭제합니다.정의를 삭제하면 다른 값을 사용하여 매크로를 재정의할 수 있습니다.
C의 매크로 ++
두 가지 유형이 있습니다.
클래스 대상 매크로는 매개 변수를 받아들일 수 없습니다.이것은 값으로 대체된 식별자입니다.그것들은 주로 수치와 상량을 나타내는 데 쓰인다.
#define Pl 3.17
Pl은 값 3.17로 대체되는 매크로의 이름입니다.클래스 함수 매크로
이러한 유형의 매크로는 매개변수를 수용할 수 있습니다.이 매크로들은 함수 호출처럼 보인다.예를 들어 Max는 매크로의 이름입니다.
#define Max(a,b) ((A)
매크로는 일반적으로 함수 호출을 생성하지 않습니다.C++에서는 내연 함수를 사용하는 것이 좋습니다.미리 정의된 매크로
SVC의 미리 정의된 매크로가 있는 Microsoft C/C++ 컴파일러는 C++ 언어, 컴파일 대상 및 컴파일러 옵션에 의존합니다.MSVC는 ANSI/ISO C99 표준 요구 사항에 대한 사전 정의된 프로세서 매크로를 지원합니다.이러한 미리 정의된 매크로는 매개변수를 사용하지 않으며 재정의할 수도 없습니다.
많은 미리 정의된 매크로는 C/C++ 소스 코드/프로그램에서 사용할 수 있습니다.여기에는 그 중에서 가장 자주 사용하는 방법들이 묘사되어 있다.
__ 날짜: _
이 함수 매크로는 파일의 프로그램 컴파일 날짜를 나타냅니다.날짜는 월-일-년 형식의 문자열로 상수 값입니다.항상 이 유형의 매크로를 정의합니다.
__시간__
그것은 예비 처리 단원의 전환 시간을 묘사했다.date와 유사하게, 시간: 분: 초로 쓰기, 되돌아오는 시간과 같은 특정한 형식이 있습니다.
이러한 유형의 매크로도 항상 정의됩니다.
__ 파일 _
이것은 현재 파일의 이름을 나타냅니다.문자열로 확장됩니다.이렇게 하면 파일에 대한 경로를 표시할 수 있습니다.항상 정의된 매크로입니다.
__ 라인 _
이것은 현재 원본의 줄 번호를 정수 형식으로 표시합니다.이 매크로는 # 행의 도움말에 따라 다른 매크로와 마찬가지로 정의됩니다.
이제\uuline\uu C++ 매크로 함수의 예시를 중점적으로 소개합니다.
__ 라인 _
이 거대한 작업 원리를 이해하기 위해서 여기서 우리는 하나의 예를 인용했다.먼저 입력과 출력 흐름에 사용되는 라이브러리를 사용합니다.그리고 오류 로그를 유지하기 위해 함수 오류 로그를 사용했습니다.문자열과 메시지 형식의 줄을 받아들일 수 있는 매개 변수가 있습니다.이 기능은 주 프로그램에서 매크로로 전달되는 줄 번호와 메시지를 표시합니다.
#define LOG( msg ) errorLog( __LINE__, msg )

그 후에 우리는 매크로를 정의했다.이것은 자주 함수에 대한 메시지 줄 문자열을 받아들일 것입니다. 이 문자열은 이 매크로를 호출할 때 매개 변수로 전달됩니다.이와 유사하게 오류 로그 함수도 라인 매크로와 메시지를 매개 변수로 호출합니다.파일은 의 확장자로 저장됩니다.c 소스 코드 파일.Linux 플랫폼의 결과를 봐야 하기 때문에 터미널로 이동하여 명령을 적용하여 파일을 컴파일하고 실행하십시오.C++의 g++ 컴파일러를 사용합니다.
$ g++ -o f f.c
$ ./f

공백을 사용하더라도 줄 번호는 라인 매크로를 통해 표시됩니다.이 예에서\uuline\uuuu 매크로의 기능을 보았습니다.그러나 다음 예에서는 모든 매크로가 프로그램에 집중됩니다.우리는 "cout"로 선을 인쇄합니다.행마다 다른 매크로가 포함되어 있으며 값이 표시됩니다.예를 들어, 우리가 사용한 날짜:
Std:: cout << ("Date :%s\n" , __Date) << std ::endl;

이제 출력을 볼 수 있습니다.각 매크로의 코드를 통해 파일 이름, 컴파일 날짜, 컴파일 시간, 현재 줄 번호를 효과적으로 표시할 수 있음을 알 수 있습니다.

매크로의 용도/이점
결론
"\uuline\uu C++macro"는 매크로의 유형, 미리 정의된 매크로와 그 유형을 묘사함으로써 매크로의 기본 기능을 상세히 논술한 문장이다.하나의 예를 통해 이 모든 기능을 설명하였다.매크로는 실현하기 쉬우며 코드를 컴파일할 때 걸리는 시간이 더 적다.이러한 특성은 기본 원본 프로그램에서 작은 코드를 사용하여 혁신과 조건을 창조하고자 하는 프로그래머들이 설계한 것이다.이를 위해 본고는 마지막으로 매크로가 원본 코드에서의 사용을 소개하고 그것들의 어떤 방면에서의 장점을 묘사했다.