> 백엔드 개발 > C++ > 내 C/C 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?

내 C/C 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-20 13:08:10
원래의
586명이 탐색했습니다.

How Can I Reliably Determine the Path of My C/C   Executable?

C에서 실행 가능 위치 결정

C/C에서는 다양한 접근 방식을 사용하여 현재 실행 중인 프로그램의 전체 경로를 검색할 수 있습니다. . 한 가지 일반적인 우려 사항은 주 함수에 제공된 argv[0] 인수가 항상 전체 경로를 제공하지 않는다는 것입니다. 이 문제를 해결하기 위해 우리는 여러 가지 해결책을 모색합니다.

/proc를 지원하는 Unix 기반 시스템

/proc를 지원하는 Unix 시스템에서 가장 간단하고 안정적인 방법은 다음과 같습니다. 대상:

  • Linux: readlink("/proc/self/exe", buf, bufsize)
  • FreeBSD: readlink("/proc/curproc/file", buf, bufsize)
  • Solaris: readlink("/proc/self/path/a.out", buf, bufsize)

/proc가 없는 Unix 기반 시스템

/proc이 없는 시스템의 경우 여러 대체 방법을 사용할 수 있습니다.

  • argv[0]이 "/"로 시작하면 절대값을 나타냅니다. path.
  • argv[0]에 "/"가 포함된 경우 이를 현재 작업 디렉토리에 추가합니다(수정되지 않았다고 가정).
  • $PATH에서 argv[ 0] 실행 파일입니다.

또한 실행 파일이 심볼릭 링크인지 확인하고 해당 디렉터리를 기준으로 해결하는 것이 좋습니다(단, /proc 메서드(Linux).

Windows 시스템

Windows에서 선호되는 메서드는 다음과 같습니다.

  • GetModuleFileName(NULL, buf, bufsize)

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿