라이브러리(Library)
- 라이브러리란?
- 함수, 데이터, 타입 등 여러가지 프로그래밍 요소들의 집합이며 보통 lib 확장자를 가진다.
- 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.
- 라이브러리 장점
- 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있기에 개발 속도도 빨라지고 신뢰성 확보 가능
STATIC LINK
- .exe를 만드는 사람은 자신의 고유 코드만 .cpp에 작성하고 .lib와 연결하면 한글 입출력 기능을 가진 .exe 실행 파일을 만들 수 있음.
- .lib에 있는 함수와 데이터는 링커에 의해 실행 파일에 그대로 옮겨지면 실행 파일의 일부분이 됨.
- 이런 전통적인 라이브러리 연결 방법을 정적 링크(Static Link)라고 하면 컴파일 시에 라이브러리에 코드를 실행파일에 복사함.
정적 링크와 동적 링크
- 정적 링크
- 컴파일 시에 함수가 실행 파일에 연결.
- 실행 파일에 함수의 코드가 복사되기 때문에 실행 파일의 크기가 커지는 단점이 있지만 실행 파일은 완전한 단독 실행 파일이 된다.
- 실행파일에 함수의 코드가 포함되어 있기 때문에 컴파일이 끝나면 .lib파일이 없어도 프로그램 실행 가능
- 동적 링크
- 실행시에 함수가 실행 파일에 연결된다.
- 실행 파일에는 호출할 함수의 정보만 포함되고 실제 함수 코드는 복사되지 않으므로 실행 파일의 크기가 작아진다.
- 하지만 실행 파일은 함수에 대한 정보만 가지고 있을 뿐 실제 코드를 가지고 있지는 않으므로 프로그램 실행시에 DLL이 꼭 있어야 한다.
DLL
- DLL은 동적 링크를 사용한다.
- DLL의 장점
- 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다.
- 정적 링크를 사용하는 경우 실행 파일에 라이브러리의 함수가 모두 포함되어 실행파일이 커지지만 DLL을
사용하는 프로그램은 크기가 작다. - DLL을 교체하여 프로그램의 성능을 향상시키기 쉽다.
- 리소스의 교체가 가능하다.
- 코드의 양이 적어지므로 디버깅이 용이해진다.
- 혼합 프로그래밍이 가능해진다.
- 프로그래머끼리 분담 작업이 용이하며 재사용성도 뛰어나다.
'IT > C# Windows Form(.NET Framework)' 카테고리의 다른 글
| ZedGraph를 이용한 시간별 Value 측정(2) (0) | 2025.01.24 |
|---|---|
| ZedGraph를 사용한 시간별 Value 측정(1) (0) | 2025.01.23 |
| OpenFileDialog / SaveFileDialog (0) | 2025.01.16 |
| PictureBox (0) | 2025.01.16 |
| UserControl(사용자 정의 컨트롤) (0) | 2025.01.16 |