본문 바로가기

dll

정적 링크라이브러리(Static Link Library)와 동적 링크라이브러리(Dynamic Link Library) 정적 링크라이브러리(Static Link Library)와 동적 링크라이브러리(Dynamic Link Library) -정적링크라이브러리- 프로그램에서 특정 함수를 사용할려구 할 때 라이브러리 파일을 project-->setting-->Link-->Object/library modules에 추가를 해주면 해당함수에 대한 기능이 구현된 부분이 실행파일에 덧붙여 지는 것이다. #pragma comment(lib, "opengl32.lib")이렇게 써주는 것두 같은 방법이다. -동적링크라이브러리- dll파일이 독립적으로 실행파일 밖에서 존재하다가 필요시에만 링크되는 형태 1.메모리와 하드디스크를 절약할 수 있다. 2.프로그램 실행속도가 빨라질 수 있다. 3.프로그램이 모듈화 됩니다. 이런 차이가 있다. 그리고.. 더보기
dll 로딩과 해체!! [명시적 로딩] Dll의 로딩여부가 링크 시에 결정되는 것이 아니라. 유저가 원할 때 해당 DLL을 로드하여 원하는 함수를 사용할 수 있게 하는 메커니즘을 의미한다. DLL명시적 로딩은 유저에게 상당히 유연한 매커니즘을 제공한다. 명시적 로딩은 유저가 원할때 언제나 해당 DLL을 로드하여 사용한 후 필요가 없으면 언로드할 수 있다 사실 이러한 명시적 로딩이 소위 요즘 이야기되고 있는 컴포넌트 기반 프로그래밍의 출발이라고 할 수 있을것이다. COM 모델로 와서야 컴포넌트 기반의 프로그래밍이 일반화되었고, 이제 MS는 .NET기반의 프레임워크를 제공함으로써 완전한 컴포넌트 기반 환경을 제공하고 있다. COM 모델의 핵심이라고 한다면 그것을 인터페이스기반 프로그래밍으로서 설계와 구현의 분리에 모든 것이 담겨 .. 더보기