나의 현재 이해:
bin -> 바이너리 파일(사람이 읽을 수 없음) EX: .o 파일
src -> 소스 파일(사람이 읽을 수 있는 파일) EX: .c 파일
그렇다면 src/bin 디렉토리에는 무엇이 있을까요? 이것은 그 자체로 모순인가? 과제에 이러한 구조가 필요하고 보다 일반적인 Unix 관점에서 이해하려고 하기 때문에 이 질문을 하게 되었습니다.
참고: src 디렉터리에는 src/bin 및 src/lib라는 두 개의 하위 디렉터리가 있습니다.
답변1
이 구조는 의미가 있습니다:
src
bin
main1.c
main2.c
lib
func1.c
func2.c
즉, src\bin
프로그램의 소스코드를 저장하는데 사용되며, src\lib
라이브러리 함수의 소스코드를 저장하는데 사용됩니다.
답변2
이는 파일이 빌드되는 동안 파일이 설치되는 중간 준비 영역일 수 있습니다.
바이너리는 내장되어 있고 src/bin
라이브러리는 내장되어 있습니다 src/lib
. 컴파일된 바이너리를 사용하여 실제 설치를 수행할 때 make install
라이브러리는 해당 바이너리에서 설치될 위치로 복사됩니다.
대안으로(또는 추가로) 바이너리의 실제 소스를 아래에 저장할 수 있고 src/bin
, 바이너리 소스를 아래에 저장할 수 있습니다 src/lib
.
OpenBSD를 예로 들면,기본 시스템 소스는 다음 위치에 저장됩니다./usr/src
bin
그 안에는 (입력될 유틸리티용 /bin
), usr.bin
(입력될 유틸리티용 /usr/bin
) lib
등 의 하위 디렉토리가 있습니다 .
그러나 이 경우 /usr/obj
소스 파일에서 대상 파일을 분리하기 위해 중간 바이너리가 해당 하위 디렉터리에 내장되어 있습니다.