SO (Shared Object) :
- 특정한 기능을 구현해 놓은 라이브러리 파일
- 공유 객체로써 하나 이상의 프로그램에서 리소스를 오프로드 하는데 사용
- 리눅스에는 dll 대신 so 라는 동적 라이브러리 사용
- 실행 파일 실행 시, 실행 파일과 함께 메모리에 로드 됨.
- linux 에서 쓰는 Executable and Linkable format (ELF) 파일
- so 파일을 찾는 경로
- system default 경로 (일반적으로 /usr/local/bin , /usr/bin , /etc/ld.so.conf 파일에 설정 되 있는 값)
- LD_LIBRARY_PATH (일반적으로 ~/.bash_profile 에서 설정해주는 환경 변수)
- binary code 에 hard-coding 된 경로
DLL (Dynamic Link Library)
- DLL : 동적 연결 라이브러리
정적 링크 (Static Link Library) 와는 다르게 컴파일 시점에 실행 파일에 함수를 복사하지 않고, 함수의 위치정보만 갖고 그 함수를 호출 할 수 있음
- Windows 에서 쓰는 Portable Executable (PE) 파일임.
출처 :
https://jacking75.github.io/Linux_lib_setting/
'프로그래밍 (이동 완료) > C,C++' 카테고리의 다른 글
C 언어의 Dependency Management (0) | 2023.08.31 |
---|---|
홍정모의 따라 배우는 C언어 (따배씨) 인강 완강 후기 (0) | 2023.05.16 |
C/C++ 컴파일러의 3가지 종류 (mscv,gcc,clang) (0) | 2023.04.09 |
[GCC] GCC 컴파일러 개념 정리 (0) | 2023.04.09 |
gcc 란 (0) | 2022.11.28 |