src/bin 디렉토리가 있는 것이 정상인가요?

src/bin 디렉토리가 있는 것이 정상인가요?

나의 현재 이해:

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/srcbin그 안에는 (입력될 유틸리티용 /bin), usr.bin(입력될 유틸리티용 /usr/bin) lib등 의 하위 디렉토리가 있습니다 .

그러나 이 경우 /usr/obj소스 파일에서 대상 파일을 분리하기 위해 중간 바이너리가 해당 하위 디렉터리에 내장되어 있습니다.

관련 정보