C++ __FILE__ 매크로

C File Maekeulo



매크로는 특정 이름을 가진 일부 스크립트의 일부 코드입니다. 매크로가 실행되면 매크로 뒤에 있는 코드가 실행되어 특정 작업을 수행합니다. 마찬가지로 __FILE__은 특정 파일의 경로를 얻기 위해 C++ 언어 내에서 사용되는 매크로입니다. 따라서 오늘 이 가이드에서는 C++ __FILE__ 매크로의 작동에 대해 논의할 것입니다.

예 01:

터미널 콘솔 응용 프로그램을 시작하여 C++에서 __FILE__ 매크로의 첫 번째 예를 살펴보겠습니다. 단축키 'Ctrl+Alt+T'를 사용하여 그렇게 할 수 있습니다. 셸을 여는 또 다른 방법은 바로 가기 키를 잊어버린 경우 활동 영역 메뉴를 사용하는 것입니다. 화면에서 터미널 콘솔이 실행된 후 새 C++ 파일을 생성하여 코드를 작성해 보십시오. 아래 첨부된 이미지와 같이 간단한 '터치' 쿼리로 파일을 생성할 수 있습니다. 새로 만든 파일의 이름은 'touch' 키워드로 지정해야 합니다.







새로 만든 파일을 코딩하고 여는 데 사용하려면 Ubuntu 20.04 Linux 시스템에 일부 편집기가 설치되어 있어야 합니다. Linux 사용자들 사이에서 널리 알려진 가장 권장되는 편집기는 GNU Nano 및 Vim 편집기입니다. 그 외에 앞서 언급한 두 편집기가 모두 작동하지 않는 경우 텍스트 편집기를 사용할 수도 있습니다. 따라서 우리는 이미 GNU Nano 편집기를 설치했습니다. 따라서 파일을 열고 편집하여 코드를 만드는 데 사용할 것입니다. 파일 이름과 함께 'nano' 키워드를 사용하여 편집기를 작동시키십시오.





이제 새로 생성된 C++ 파일 macro.cc는 편집기에서 코딩할 준비가 되었습니다. __FILE__ 매크로의 작동을 보기 위해 이 기사를 구현하면서 C++ 코드 구현을 시작하겠습니다. 표준 입출력 헤더를 맨 위에 추가하여 C++ 코드를 시작했습니다. 키워드 'include'는 이를 위해 해시 기호와 함께 사용되었습니다. 이 헤더가 없으면 C++ 코드의 입력 및 출력이 컴파일 및 실행 시 콘솔에서 작동하지 않습니다.





main() 메서드는 실행이 여기에서 시작되고 끝나기 때문에 우리 코드의 기본 기둥입니다. main() 메서드 내에서 실제 작업이 수행됩니다. 우리는 __FILE__ 매크로의 기능을 설명하기 위해 main() 메서드에서 한 줄 코드를 사용해 왔습니다. 따라서 여기에서는 두 값을 인수로 사용하는 printf 문, 즉 파일 이름과 매크로 함수를 사용하는 문자열을 사용했습니다.

__FILE__ 매크로는 여기에서 현재 파일 경로 또는 해당 이름을 획득하는 데 사용됩니다. '%S'는 파일의 현재 경로 또는 문자열 내의 이름을 인쇄하는 데 사용됩니다. 'Ctrl+S' 단축키를 사용하여 실행하기 전에 코드를 저장해야 합니다. 이제 코드가 저장되었습니다. 'Ctrl+X' 단축키를 사용하여 쉘 터미널로 돌아가 보십시오.



__FILE__ 매크로에 대한 C++ 코드 작업이 완료되었으므로 C++ 코드 컴파일을 시작하겠습니다. 컴파일을 위해 이미 g++ 컴파일러를 설치하여 C++ 코드를 컴파일했습니다. 따라서 g++ 컴파일러는 터미널에서 'macro.cc' 파일을 컴파일하는 데 사용되었습니다. 컴파일 시 아무 것도 반환하지 않습니다. 이는 C++ 코드가 macro.cc 파일 안에 있음을 의미론적으로 올바르다는 것을 나타냅니다. 컴파일이 끝나면 코드를 실행할 차례입니다. 코드 파일을 실행하기 위해 './.aout' 단순 쿼리를 사용하는 경향이 있습니다. macro.cc 파일을 실행하면 그 대가로 파일 이름을 얻게 됩니다. 이것이 C++ __FILE__ 매크로가 작동하는 방식입니다.

예 02:

Ubuntu 20.04 시스템 내에서 C++ __FILE__ 매크로의 기능을 자세히 살펴보는 또 다른 예를 살펴보겠습니다. C++ __FILE__ 매크로가 언급된 파일의 파일 경로를 가져오는 데 사용되었을 때 어떻게 작동하는지 살펴봤습니다.

이제 C++ __FILE__ 매크로를 사용하여 현재 작업 중인 파일 이외의 파일 경로 또는 파일 이름을 가져옵니다. 그래서 코드를 업데이트하기 위해 GNU Nano 편집기에서 동일한 파일 macro.cc를 열었습니다. include 키워드로 표준 입출력 헤더를 추가하고 정수 반환 유형으로 main() 함수를 초기화했습니다.

main() 메서드 내에서 첫 번째 print 문은 현재 작업 중인 현재 파일 경로를 가져오는 이전 것과 동일합니다. 그 후, #line 키워드를 다른 파일 이름과 함께 사용했습니다. 즉, 다음 연속 라인에 'new.txt'가 있습니다. 이것은 이름이나 경로를 가져올 현재 파일 이외의 파일을 지정하는 것입니다. 다음 printf 문은 C++ __FILE__ 매크로의 도움으로 'new.txt' 파일의 경로를 출력하는 데 사용되었습니다. 새로 업데이트된 코드를 저장하여 컴파일 시 불편을 방지하십시오. 그렇게 하려면 'Ctrl+S'를 사용하십시오.

업데이트된 파일을 저장한 후 키보드에서 'Ctrl+X'를 눌러 종료하십시오. 이제 쉘 화면으로 돌아왔습니다.

업데이트된 파일을 컴파일해 봅시다. g++ 컴파일러를 사용하여 macro.cc 파일 이름으로 그렇게 하십시오. 성공적으로 컴파일한 후 콘솔에서 './a.out' 명령으로 코드를 실행합니다. 출력에는 현재 파일의 경로가 먼저 표시된 다음 다른 파일인 'new.txt'의 경로가 쉘 화면에 표시되었습니다. __FILE__ 매크로를 사용하여 쉘에 파일 경로를 표시하는 것이 얼마나 쉬운지 보십시오.

예 03:

C++에서 __FILE__ 매크로와 함께 __LINE__ 매크로를 살펴보겠습니다. __LINE__ 매크로는 매크로가 사용된 파일의 줄 번호를 표시합니다. 따라서 동일한 파일을 열고 두 printf 문을 모두 업데이트합니다. C++ __LINE__ 매크로 전에 C++ __LINE__ 매크로를 추가했습니다. 이 __LINE__매크로는 __FILE__이 먼저 오는 현재 파일의 줄 번호를 가져옵니다. 다음 __LINE__ 매크로는 코드에서 파일 이름과 함께 줄 번호를 이미 언급했기 때문에 다른 파일의 첫 번째 줄 번호를 가져옵니다.

파일을 저장하고 종료하면 쉘 터미널로 돌아갑니다. 동일한 g++ 명령을 사용하여 C++ macro.cc 파일 코드를 컴파일합니다. 성공적인 컴파일은 실행 명령으로 이어집니다. 이제 './a.out' 명령이 여기에서 사용됩니다. 실행은 첫 번째 파일, 즉 3행의 현재 파일이고 __FILE__ 매크로는 코드에서 언급된 다른 파일의 첫 번째 행에 있음을 알려줍니다.

결론:

이 문서에는 매크로의 정의가 포함되어 있으며 Ubuntu 20.04 시스템에서 C++ __FILE__ 매크로의 사용법에 대해 설명합니다. C++ __LINE__ 매크로는 C++ __FILE__ 매크로의 작업을 더 자세히 설명하기 위해 일부 예제에서 논의되었습니다. 요약하면 이 기사가 C++ __FILE__macro를 최대한 활용하는 데 도움이 되기를 바랍니다.