>백엔드 개발 >C++ >다양한 플랫폼에서 현재 실행 중인 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?

다양한 플랫폼에서 현재 실행 중인 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-23 14:38:10428검색

How Can I Reliably Determine the Path of the Currently Running Executable Across Different Platforms?

실행 파일 경로 결정

현재 실행 중인 실행 파일의 경로를 얻는 것은 어려울 수 있으며, 특히 크로스 플랫폼 솔루션을 찾을 때 더욱 그렇습니다. 이전 토론에서는 전반적으로 만족스러운 답변을 제공하지 못했지만 이 주제를 다시 검토하여 잠재적인 접근 방식을 살펴보는 것이 좋습니다.

플랫폼별 솔루션:

  • Linux: Linux 시스템의 경우 std::filesystem::canonical 또는 readlink와 함께 "/proc/self/exe"를 활용하여 절대값을 얻을 수 있습니다. 실행 파일의 경로.
  • Windows: Windows에서 NULL 모듈 핸들을 사용하여 GetModuleFileName을 호출하면 실행 파일의 경로가 검색됩니다.

교차 플랫폼 제한 사항:

안타깝게도 실행 파일 경로를 결정하는 크로스 플랫폼 방법은 알려져 있지 않습니다. 확실히. 이는 다양한 운영 체제가 실행 가능한 호출 및 런타임 동작을 처리하는 방식이 다양하기 때문입니다. 따라서 위에서 언급한 플랫폼별 솔루션은 가장 안정적이고 널리 적용 가능한 접근 방식을 제공합니다.

위 내용은 다양한 플랫폼에서 현재 실행 중인 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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