현재 실행중인 C파일 위치를 찾아내는 코드
조회수 3221회
1 답변
-
1. 유닉스 : /proc 사용
readlink("/proc/self/exe", buf, bufsize) (Linux)
readlink("/proc/curproc/file", buf, bufsize) (FreeBSD)
readlink("/proc/self/path/a.out", buf, bufsize) (Solaris)
2. 유닉스 : 1의 방법이 안되는 경우
(
setuid
때문에argv[0]
를 쓰는 방법은 신뢰성에 문제가 있을 수도 있습니다.)argv[0]
가 "/"로 시작하는 경우(absolute path)는argv[0]
이 path.argv[0
]에 "/"가 포함되 있는 경우(relative path)는 cwd에 따라 다름
3. 윈도우
- GetModuleFileName(NULL, buf, bufsize)
댓글 입력