>백엔드 개발 >C++ >Windows 및 Linux에서 프로그램의 실행 디렉터리를 어떻게 확인할 수 있습니까?

Windows 및 Linux에서 프로그램의 실행 디렉터리를 어떻게 확인할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 15:45:09284검색

How Can I Determine a Program's Running Directory on Windows and Linux?

프로그램 실행 디렉터리 확인

프로그램이 실행되는 디렉터리의 전체 경로를 검색하려면 다양한 플랫폼별 방법을 사용할 수 있습니다. 취업하다. 다음은 두 가지 일반적인 접근 방식입니다.

Windows:

Windows는 실행 프로그램의 전체 경로를 반환하는 GetModuleFileName 함수를 제공합니다. 이를 사용하려면 경로와 길이(size_t len ​​= sizeof(pBuf))를 저장하는 문자 버퍼(char pBuf[256])를 선언하면 됩니다. 그런 다음 NULL을 모듈 핸들로 전달하고 버퍼 주소를 두 번째 매개변수로 전달하여 GetModuleFileName을 호출합니다. 이 함수는 경로 길이를 문자 단위로 반환합니다.

Linux:

Linux에서는 readlink 함수를 활용할 수 있습니다. /proc/self/exe 경로를 소스로, 버퍼 주소를 대상으로 허용합니다. 반환 값은 버퍼에 기록된 바이트 수이며 길이(len - 1)보다 작아야 합니다. 버퍼에 쓴 후에는 null 종결자를 추가해야 합니다.

이 접근 방식은 플랫폼이나 파일 시스템에 구애받지 않습니다. 그러나 특정 플랫폼과 파일 시스템에 대한 솔루션을 제공하므로 다양한 시나리오에 유용합니다.

위 내용은 Windows 및 Linux에서 프로그램의 실행 디렉터리를 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.